您的位置:首页 > 其它

ZOJ 1049 2^x mod n = 1

2011-05-05 14:55 330 查看
题意是:求出满足2^x mod n = 1的x。

这样的x叫做2模n的次数。我使用余数的性质递推的,应该还有好的算法。

#include"stdio.h"
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
if(n==1||n%2==0)
{ printf("2^? mod %d = 1\n",n);continue;}
int ans,k=1;long long s=2;
ans=s%n;
while(ans!=1)
{
s=ans*2;
ans=s%n;
k++;
}
printf("2^%d mod %d = 1\n",k,n);

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: