注意各种空格。。。
当n的值为1或偶数时,不存在x使得2^x mod n=1,其它情况则必存在一x使得2^x mod n =1。
#include<iostream>
using namespace std;
int main()
{
int x,n,t;
while(cin>>n)
{
if(n==1||n%2==0)
{
//不存在这样的x
cout<<"2^? mod "<<n<<" = 1"<<endl;
}
else
{
x=1;
t=2;
//暴力找到最小的x使得2^x mod n=1
while(t%n!=1)
{
x++;
t=t*2%n;
}
cout<<"2^"<<x<<" mod "<<n<<" = 1"<<endl;;
}
}
return 0;
}