题目大意:
给一个数字n,找到最小的x满足2^x mod n = 1.
解题思路:
模拟查找过程就可以了
代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
int i,n,p,q;
while(scanf("%u",&n)==1)
{
if(n%2==0||n<2)
{
printf("2^? mod %d = 1\n",n);
continue;
}
q=2;
for(p=1;;p++)
{
q*=2;
q%=n;
if(q==1)
break;
}
printf("2^%d mod %d = 1\n",p+1,n);
}
return 0;
}