[藍橋杯][歷屆試題]迴文數字
每次%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;
}
- 參考:鏈接