字符串判断回文,可先用reverse将其转置,然后判断是否相等
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string myadd(const string &str1, const string &str2)
{
int i = str1.length()-1;
int j = str2.length()-1;
int add = 0;
string sum ="";
for(; i >= 0 && j >= 0; i--, j--)
{
add = str1[i]-'0' + str2[j]-'0' + add;
sum = char(add%10 + '0') + sum;
add /= 10;
}
while(i>=0)
{
add = str1[i]-'0' + add;
sum = char(add%10 + '0') + sum;
add /= 10;
i--;
}
while(j>=0)
{
add = str2[j]-'0' + add;
sum = char(add%10 + '0') + sum;
add /= 10;
j--;
}
if(add)
sum = "1" + sum;
return sum;
}
int main()
{
string n;
string temp;
int k;
cin >> n >> k;
for(int i = 0; i < k; i++)
{
temp = n;
reverse(n.begin(), n.end());
if(n == temp)
{
cout << n << endl;
cout << i << endl;
return 0;
}
n = myadd(temp, n);
}
cout << n << endl;
cout << k << endl;
return 0;
}