#define _CRT_SECURE_NO_WARNINGS
#include<string>
#include<string.h>
#include<vector>
#include<map>
#include<iostream>
#include<algorithm>
#include<stdio.h>
using namespace std;
string Reverse(string a)
{
string b = "";
for (int i = 0; i < a.size(); i++)
b = a.substr(i, 1) + b;
return b;
}
string Plus(string a,string b)
{
string c = "";
int N = 0;
for (int i = a.size()-1; i >=0; i--)
{
int iAdd = atoi(a.substr(i, 1).c_str()) + atoi(b.substr(i, 1).c_str());
iAdd = iAdd + N;
if (iAdd > 9)
{
iAdd = iAdd % 10;
N = 1;
}
else
{
N = 0;
}
char cTmp[2];
sprintf(cTmp, "%d", iAdd);
c = cTmp[0]+ c;
}
if (N == 1)
c = "1" + c;
return c;
}
int main()
{
string number;
int step;
cin >> number >> step;
if (number == Reverse(number)||step==0)
{
cout << number.c_str() << endl << "0\n";
return 0;
}
int i = 1;
for (; i <= step; i++)
{
number = Plus(number, Reverse(number));
if (number == Reverse(number))
break;
}
if (i > step)
i = step;
cout << number.c_str() << endl << i << endl;
return 0;
}
#include<string>
#include<string.h>
#include<vector>
#include<map>
#include<iostream>
#include<algorithm>
#include<stdio.h>
using namespace std;
string Reverse(string a)
{
string b = "";
for (int i = 0; i < a.size(); i++)
b = a.substr(i, 1) + b;
return b;
}
string Plus(string a,string b)
{
string c = "";
int N = 0;
for (int i = a.size()-1; i >=0; i--)
{
int iAdd = atoi(a.substr(i, 1).c_str()) + atoi(b.substr(i, 1).c_str());
iAdd = iAdd + N;
if (iAdd > 9)
{
iAdd = iAdd % 10;
N = 1;
}
else
{
N = 0;
}
char cTmp[2];
sprintf(cTmp, "%d", iAdd);
c = cTmp[0]+ c;
}
if (N == 1)
c = "1" + c;
return c;
}
int main()
{
string number;
int step;
cin >> number >> step;
if (number == Reverse(number)||step==0)
{
cout << number.c_str() << endl << "0\n";
return 0;
}
int i = 1;
for (; i <= step; i++)
{
number = Plus(number, Reverse(number));
if (number == Reverse(number))
break;
}
if (i > step)
i = step;
cout << number.c_str() << endl << i << endl;
return 0;
}