【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 暴力过~~最好学下欧拉定理~~~

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) ...
  • acm_cxq
  • acm_cxq
  • 2016年08月11日 00:08
  • 366

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 欧拉定理(当然可以直接暴力)

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

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

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

用1 x 2的多米诺骨牌填满M x N的矩形有多少种方案,M<=5,N<2^31,输出答案mod p的结果

我们以M=3为例进行讲解。假设我们把这个矩形横着放在电脑屏幕上,从右往左一列一列地进行填充。其中前n-2列已经填满了,第n-1列参差不齐。现在我们要做的事情是把第n-1列也填满,将状态转移到第n列上去...

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

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

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

本题题意很明确,要求解一个解模方程a^x≡b(mod n),这里博主采用了大步小步算法,也就是B-S-G-S算法代码如下...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【HDU】 1395 2^x mod n = 1
举报原因:
原因补充:

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