hdu 1395 2^x mod n = 1 (简单数论)
2014-07-01 12:24
323 查看
题目大意:
求出一个最小的x
使得 2的x次方对n取模为1
思路分析:
若要
a*b%p=1 要使得b存在
则 gcd (a,p)=1.
那么我们应用到这个题目上来。
当n为偶数 2^x 也是偶数,那么gcd 肯定不是1.故这个是不存在的。
那么n为奇数的时候,也就一定是1了。
所以直接暴力找。
求出一个最小的x
使得 2的x次方对n取模为1
思路分析:
若要
a*b%p=1 要使得b存在
则 gcd (a,p)=1.
那么我们应用到这个题目上来。
当n为偶数 2^x 也是偶数,那么gcd 肯定不是1.故这个是不存在的。
那么n为奇数的时候,也就一定是1了。
所以直接暴力找。
#include <iostream> #include <cstdio> using namespace std; int main() { int n; while(scanf("%d",&n)!=EOF) { if(n==1 || n%2==0) printf("2^? mod %d = 1\n",n); else { int res=1; for(int i=1;;i++) { res*=2; res%=n; if(res==1) { printf("2^%d mod %d = 1\n",i,n); break; } } } } return 0; }
相关文章推荐
- (step7.2.1)hdu 1395(2^x mod n = 1——简单数论)
- hdu 1395 2^x mod n = 1 (简单数论)
- (step7.2.1)hdu 1395(2^x mod n = 1——简单数论)
- hdu1395 2^x mod n = 1(数论:快速幂取模+欧拉定理)
- HDU1395_2^x mod n = 1【数论】【水题】
- hdu 1395 比较简单的数论题
- ACM 数论 hdu 1395 2^x mod n = 1
- hdu 1395 2^x mod n = 1 欧拉定理(当然可以直接暴力)
- HDU 1124 Factorial(简单数论)
- HDU 1395 2^x mod n = 1
- hdu1395-2^x mod n = 1
- HDU-4145 A Simple Problem 简单数论
- HDU 1222(数论,简单题)
- hdu 1395 2^x mod n = 1
- HDU-2524 简单的数论
- hdu 1021 Fibonacci Again(简单数论)
- hdu 1395 数论
- HDU 1576 A/B(数论简单题,求逆元)
- hdu 2421简单数论题
- HDU 1124 Factorial(简单数论)