欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

ZOJ 1049 2^x mod n = 1

发布时间:2025/7/14 编程问答 31 豆豆
生活随笔 收集整理的这篇文章主要介绍了 ZOJ 1049 2^x mod n = 1 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题意是:求出满足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;
}

转载于:https://www.cnblogs.com/acsmile/archive/2011/05/05/2037707.html

总结

以上是生活随笔为你收集整理的ZOJ 1049 2^x mod n = 1的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。