hdoj 1395 2^x mod n = 1
2015-04-06 18:24
274 查看
2^x mod n = 1
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13617 Accepted Submission(s): 4212
Problem Description
Give a number n, find the minimum x(x>0) that satisfies 2^x mod n = 1.
Input
One positive integer on each line, the value of n.
Output
If the minimum x exists, print a line with 2^x mod n = 1.
Print 2^? mod n = 1 otherwise.
You should replace x and n with specific numbers.
Sample Input
2 5
Sample Output
2^? mod 2 = 1 2^4 mod 5 = 1
费马小定理的运用:
n为偶数时 不会存在x 使得 2 的 x次方 对n取余为1;
n为1时也不会存在;
n为非1奇数时,则n与2互质,故必存在一值x使得 2 的 x次方 对n取余为1。
#include<stdio.h> #include<math.h> int main() { int n,i,j,mark,sum; while(scanf("%d",&n)!=EOF) { if(n%2==0||n==1) { printf("2^? mod %d = 1\n",n); continue; } sum=1; for(i=1;;i++)//表示2的次方数 { sum*=2; if(sum%n==1) { mark=i; break; } sum%=n; } printf("2^%d mod %d = 1\n",mark,n); } return 0; }
相关文章推荐
- HDOJ 题目1395 2^x mod n = 1(水题 易错)
- 2^x mod n = 1 hdoj 1395
- HDU/HDOJ 1395 ACM浙大月赛 2^x mod n = 1 可暴力 可用欧拉定理
- hdoj 1395 2^x mod n = 1 【暴力】
- hdoj-1395-2^x mod n = 1【欧拉定理】
- HDOJ1395 2^x mod n = 1
- hdoj 1395 2^x mod n = 1 【暴力】
- 【HDOJ】1395 -> 2^x mod n = 1
- hdoj1395 (数学水题)2^x mod n = 1
- HDU/HDOJ 1395 ACM浙大月赛 2^x mod n = 1
- [HDOJ1395]2^x mod n = 1(欧拉函数)
- HDOJ-1395-2^x mod n = 1 解题报告
- hdoj1395 2^x mod n = 1
- HDOJ 1395 2^x mod n = 1
- HDOJ 1395 2^x mod n = 1
- HDOJ 1395 2^x mod n = 1
- 【HDU】1395 2 ^ x mod n = 1
- Hdu 1395 2^x mod n = 1 (欧拉定理 分解素因数)
- hdu 1395 2^x mod n = 1
- HDU 1395 2^x mod n = 1(快速幂取模)