zuoyang001 @ 2023-11-18 18:33:34
#include<bits/stdc++.h>
using namespace std;
long long n,num1,num2,end,step=0,f=0;
long long jzs(long long x){
long long sum=0,k=0;
while(x){
sum+=x%10*pow(n,k++);
x/=10;
}
return sum;
}
long long pdsw(long long x){
long long len=0;
while(x){
len++;
x/=10;
}
return len;
}
long long hw(long long x){
long long num3=0,len=pdsw(x)-1;
while(x){
num3+=x%10*pow(10,len--);
x/=10;
}
return num3;
}
bool pdhw(long long x){
long long k1=x,k2=0,len=pdsw(k1)-1;
while(k1){
k2+=k1%10*pow(10,len--);
k1/=10;
}
if(k2==x)return true;
return false;
}
int main(){
cin>>n>>num1;
num1=jzs(num1);
while(++step<=30){
num2=hw(num1);
end=num2+num1;
if(pdhw(end)){
f=1;
break;
}
else{
num1=end;
}
}
if(f)cout<<"STEP="<<step;
else cout<<"Impossible!";
return 0;
}
by Elairin176 @ 2023-11-18 18:36:14
@zuoyang001 变量名不能是 end
。您安装一个别的编译器就可以了。
by cff_0102 @ 2023-11-18 18:36:16
错误信息不会看吗
by PvbeLLN @ 2023-11-18 18:37:56
end
变量有歧义,换成END
(话说你这份代码在我的dev上也不能编译成功
by M3te0rDream @ 2023-11-18 18:46:35
不要用end变量名换一个就行了