[蓝桥杯][历届试题]回文数字
每次%10,取得最后一个数,定义一个求值的sum,每次sum*10加上取余的最后一位
最后的sum就是i逆序的结果,注意:每次i应该/10,但是不能改变i值,所以每次循环开始的时候要先定义一个temp。用作计算sum。
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int flag = 1;
for(int i = 10000; i < 999999; i++)
{
int num = 0;
int sum = 0;
int temp = i;
while(temp > 0)
{
sum = sum + temp % 10;
num = num * 10 + temp % 10;
temp /= 10;
}
if(sum == n && num == i)
{
flag = 0;
cout<<i<<endl;
}
}
if(flag)
cout<<"-1";
return 0;
}
- 参考:链接