当数字比较大时,要注意乘除的顺序,一定是先除后乘,避免溢出。
#include<bits/stdc++.h>
using namespace std;
int main() {
int N,x=1,k=1;
cin>>N;
while(1){
x=k;//从1开始枚举每一个可能的x
int i=0;
for(;i<N;i++){//根据x的表达式判断能否成功
if((x*N)%(N-1)==0) x=x/(N-1)*N+1;
else break;
}
if(i==N) break;
k++;
}
cout<<x;
}
别人找到的规律
#include<bits/stdc++.h>
using namespace std;
int a,b;
int main() {
cin>>a;
if(a==2) cout<<7;
else cout<<int(pow(a,a)+1-a);
return 0;
}