传送门在这里啊
我们直接暴力就可以啦!
除了1和所有偶数之外,其他的数都可以由2n表示。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
if(n%2==0 || n==1)
{
cout<<"2^? mod "<<n<<" "<<"= 1"<<endl;
}
else
{
int ans = 1;
for(int i=1;;i++)
{
ans *= 2;
ans %= n;
if(ans==1)
{
cout<<"2^"<<i<<" mod "<<n<<" "<<"= 1"<<endl;
break;
}
}
}
}
return 0;
}