题目大意:
给定一个数字,看是不是回文数字,不是的话进行转变,一次转变是原数字+反转后的数字,看结果是不是回文数字。
**代码:**18分有
#include <iostream>
#include <algorithm>
#include<string>
using namespace std;
string rev(string s) {
reverse(s.begin(), s.end());
return s;
}
string add(string s1, string s2) {
string s = s1;
int sum=stoi(s1)+stoi(s2);
string ssum="";
while(sum)
{
ssum+=(sum%10+'0');
sum/=10;
}
reverse(ssum.begin(),ssum.end());
return ssum;
}
int main() {
string s, sum;
int n = 10;
cin >> s;
if (s == rev(s)) {
cout << s << " is a palindromic number.\n";
return 0;
}
while (n--) {
sum = add(s, rev(s));
cout << s << " + " << rev(s) << " = " << sum << endl;
if (sum == rev(sum)) {
cout << sum << " is a palindromic number.\n";
return 0;
}
s = sum;
}
cout << "Not found in 10 iterations.\n";
return 0;
}