为什么我的代码在dev-c++上可以运行,在洛谷上编译失败?

P1015 [NOIP1999 普及组] 回文数

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变量名换一个就行了


|