给一个n问2^t mod n=1 中t的最小值
偶数和n==1和n==0都不可以
奇数的时候暴力找就好 [肯定有解,因为 左边和右边总是互质的 ]
#include<bits/stdc++.h>
using namespace std;
int n;
void Gao()
{
if (n<=2 || n%2==0)
{
printf("2^? mod %d = 1\n",n);
return;
}
else
{
int x=1;
int ans=0;
while (true)
{
x*=2,x%=n,ans++;
if (x==1)
{
printf("2^%d mod %d = 1\n",ans,n);
break;
}
}
}
}
int main()
{
while (cin>>n)
Gao();
return 0;
}