注意:
① 注意边界的 99999 和 999999
for(int i=10000; i<=99999; i++)
for(int i=100000; i<=999999; i++)
②注意没有符合要求的要返回 -1
用 flag 标示
if(flag == 0){
cout << -1;
}
AC代码:
#include<iostream>
using namespace std;
int main(){
int n, flag=0;
cin >> n;
for(int i=10000; i<=99999; i++){
int buf=0, sum=0, temp=i;
while(temp > 0){
sum += temp % 10;
buf = buf * 10 + temp%10;
temp /= 10;
}
if(sum == n && buf==i){
flag = 1; //有符合要求的回文数
cout << i << endl;
}
}
for(int i=100000; i<=999999; i++){
int buf=0, sum=0, temp=i;
while(temp > 0){
sum += temp % 10;
buf = buf * 10 + temp%10;
temp /= 10;
}
if(sum == n && buf==i){
flag = 1; //有符合要求的回文数
cout << i << endl;
}
}
if(flag == 0){
cout << -1;
}
return 0;
}