📄 1395 2^x mod n = 1.cpp
字号:
/*
1395 2^x mod n = 1
Time Limit : 1000 ms Memory Limit : 32768 K Output Limit : 256 K
GUN C++
*/
#include <iostream.h>
using namespace std;
const int Max=1000;
int main()
{
int n,ca,x,temp;
while(cin>>n)
{
if(n%2==0)//当n为偶数时,不可能存在2的幂次为奇数
{ x=-1;}
else//当n为奇数时
{
x=1;temp=2%n;//因为除数是2的幂次,所以余数呈2倍递增
while(temp!=1)
{
temp*=2;
temp%=n;
if(temp==0)//当出现余数变0时,肯定不会存在
{ x=-1;break;}
else
x++;
}
}
if(x>0)
cout<<"2^"<<x<<" mod "<<n<<" = 1\n";
else
cout<<"2^? mod "<<n<<" = 1\n";
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -