2 5
2^? mod 2 = 1 2^4 mod 5 = 1
#include<iostream> using namespace std; int main() { int n,i,j; while(cin>>n) { int ls[10000];int sum=1; memset(ls,0,sizeof(ls)); for(i=1; ;i++) { sum*=2; sum%=n; if(sum==1) { cout<<"2^"<<i<<" mod "<<n<<" = 1"<<endl; break; } if(ls[sum]) { cout<<"2^? mod "<<n<<" = "<<"1"<<endl; break; } ls[sum]=1; } } return 0; }
原文地址:http://blog.csdn.net/lsgqjh/article/details/44876899