#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char check[11111];
int is_P(){
int len=strlen(check);
int i;
for(i=0;i<=len/2;i++){
if(check[i]!=check[len-i-1]) return 0;
}
return 1;
}
void tran(){
//先翻转
char check1[11111];//1是翻转之后的
char check2[11111];//2是之前的
strcpy(check2,check);
int len=strlen(check);
int i;
for(i=0;i<len;i++){
check1[i]=check[len-i-1];
}
//相加到check
int c=0;
for(i=0;i<len;i++){
int temp=check1[i]-'0'+check2[i]-'0'+c;
if(temp>=10) {
c=1;
check[i]=temp-10+'0';
}
else {check[i]=temp+'0';c=0;}
}
if(c==1) check[i]=1+'0';
len=strlen(check);
char check3[11111];//check翻转到check3
for(i=0;i<len;i++){
check3[i]=check[len-i-1];
}
strcpy(check,check3);//check3复制到check
}
int main()
{
int k;
scanf("%s%d",&check,&k);
int i,f=0;
for(i=0;i<k;i++){
if(is_P()) {printf("%s\n%d",check,i);f=1;break;}
else tran();
}
if(f==0)
{
printf("%s\n%d",check,i);
}
return 0;
}
pat甲级1024c语言
最新推荐文章于 2025-07-21 18:25:11 发布