1 solutions
-
0
C :
#include<stdio.h> #include<math.h> #include<stdlib.h> int main() { int n; scanf("%d", &n); int nTwo; int j; int *a = (int *)malloc(n*sizeof(int)); int *x = (int *)malloc(n*sizeof(int)); int i; for(i = 0; i < n; i++) { scanf("%d", &a[i]); } for(i = 0; i < n; i++) { if(a[i] == 1) { x[i] = 1; continue; } if(!(a[i]%2)) { x[i] = 0; continue; } for(j = 2; j < 99999; j++) { nTwo = pow(2, j); if(nTwo % a[i] == 1) { x[i] = j; break; } } } for(i = 0; i < n; i++) { if(!x[i]) { printf("2^? mod %d = 1\n", a[i]); } else { printf("2^%d mod %d = 1\n", x[i], a[i]); } } return 0; }
- 1
Information
- ID
- 17270
- Time
- 1000ms
- Memory
- 20MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By