1 条题解
-
0
C :
#include<stdio.h> int main() { int n,x,i,s; while(scanf("%d",&n)!=EOF) { if(n%2==0||n==1) printf("2^? mod %d = 1\n",n); else { for(s=i=2;;i++) { s*=2; if(s%n==1) { printf("2^%d mod %d = 1\n",i,n); break; } s%=n; } } } return 0; }
C++ :
#include<stdio.h> int main() { int n,x,i,s; while(scanf("%d",&n)!=EOF) { if(n%2==0||n==1) printf("2^? mod %d = 1\n",n); else { for(s=i=2;;i++) { s*=2; if(s%n==1) { printf("2^%d mod %d = 1\n",i,n); break; } s%=n; } } } return 0; }
Java :
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); while(in.hasNextInt()){ int n = in.nextInt(); int b = Integer.MAX_VALUE; if(n==1||n%2==0){ System.out.println("2^? mod "+n+" = 1"); continue; } else{ for(int i=1;i<b;i++){ if(Math.pow(2,i)%n==1){ System.out.println("2^"+i+" mod "+n+" = 1");break; } } } } } }
- 1
信息
- ID
- 1634
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者