#include<iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
char num[1000];
int main()
{
int f;
int flag=1;
scanf("%s %d",num,&f);
int k,j;
for(int i=1;i<=f;i++)
{
int t=strlen(num);
for( k=t-1, j=0;j<t;j++,k--)
{
if(num[j]!=num[k]){
break;
}
if(j>=k){
flag=0;
cout<<num<<endl;
cout<<i-1<<endl;
break;}
}
if(flag==0)return 0;
if(flag)
{ //j計算新的NUM
char c[1000];
int h=0;
int ji=0;
for(int j=t-1,k=0;j>=0;j--,k++)
{
c[h]=(ji+num[j]+num[k]-2*'0')%10+'0'; //進位
ji=(ji+num[j]+num[k]-2*'0')/10;
h++;
}
if(ji){c[h]=ji+'0';h++;}
c[h]='\0';
for(int l=0;l<h;l++)
num[l]=c[h-l-1];
}
}
if(flag)
{
cout<<num<<endl;
cout<<f<<endl;
}
return 0;
}
pat 1024
本來想用strrev 函數的。。。可是發現不能用,想偷懶,結果卻更麻煩
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.