【HDU】 1395 2^x mod n = 1

原创 2016年05月30日 20:21:19

2^x mod n = 1


题目链接


题目大意

    找到一个最小的x满足2x mod n = 1如果没有则输出2? mod n = 1


题解

    我们可以把式子化为(22x1) mod n = 1 首先可以看到2x是个偶数,要想让该式成立肯定n不能为偶数或者是1,有了这个结论后我们就可以把式子化为(2(2x1 mod n))mod n = 1于是我们设F(x1) = 2x1mod n 所以我们现在有

F(x)=(2F(x1))mod n

一直推直到F(x)为1就行了。


代码

#include <iostream>
#include <cstring>
#include <cstdio>

using namespace std;

int n;

int main()
{
    while(scanf("%d",&n)!=EOF)
    {
        if (n%2==0 || n==1)
        {
            printf("2^? mod %d = 1\n",n);
            continue ;
        }
        else
        {
            int ans=1,cnt=0;
            while (ans!=1 || cnt==0)
            {
                cnt++;
                ans=(ans*2)%n;
            }
            printf("2^%d mod %d = 1\n",cnt,n);
        }
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

HDU/HDOJ 1395 ACM浙大月赛 2^x mod n = 1

2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

HDU 1395 2^x mod n = 1【数学】

2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

hdu 1395 2^x mod n = 1 欧拉定理(当然可以直接暴力)

#include #include #include #include #include using namespace std; #define LL __int64 LL t,e[100...

hdu 1395 2^x mod n = 1 暴力过~~最好学下欧拉定理~~~

Problem Description Give a number n, find the minimum x(x>0) that satisfies 2^x mod n = 1. Input ...

hdu 1395 2^x mod n = 1(欧拉函数)

2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

hdu-1395 2^x mod n = 1

2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot...

Hdu 1395 2^x mod n = 1 (欧拉定理 分解素因数)

先吐槽一下:考完试后第一天实验室就断网,简直不可思议。 题意:给出n,找出最小的x使其满足2^x mod n = 1 思路:欧拉定理(费马小定理的欧拉推广)可得如果n为1或2的倍数则无解,n为大于...

数论模板 满足a^x≡1(mod n)的最小正整数

Description 满足a^x≡1(mod n)的最小正整数x称为a模n的阶。 现给出两个正整数,求x。 Input 第一行输入k,表示有k组数据 之后k...

Baby-step giant-step  解高次同余方程a^x=b(mod n) 模版

思路: 说一下a^x=b(mod n)的Baby Step Giant Step算法(一点分块的思想)m取sqrt(p); 求y^x=z(mod p)设x=km+i y^km∗y^i≡z yi...

POJ 2417 Discrete Logging (求解模方程a^x≡b(mod n))

本题题意很明确,要求解一个解模方程a^x≡b(mod n),这里博主采用了大步小步算法,也就是B-S-G-S算法代码如下
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)