#include <stdio.h>
#include <string.h>
#include <map>
#include <set>
#include <queue>
#include <string>
#include <algorithm>
#include <iostream>
using namespace std;
char A[1100],B[1100],C[1100],D[1100];
void reverse(char A[],char B[])
{
int len=strlen(A);
for(int i=0;i<len;i++)
{
B[i]=A[len-i-1];
}
B[len]='\0';
}
void ADD(char A[],char B[],char C[])
{
int carry=0;
int len=0;
for(int i=0;i<strlen(A);i++)
{
int pop=(A[i]+B[i]+carry-'0'-'0')%10;
carry=(A[i]+B[i]-'0'-'0'+carry)/10;
C[len++]=pop+'0';
}
if(carry!=0)C[len++]=carry+'0';
C[len++]='\0';
}
bool judge(char A[])
{
bool flag=true;
int len=strlen(A);
for(int i=0;i<len/2;i++)
{
if(A[i]!=A[len-i-1])
{
flag=false;
break;
}
}
return flag;
}
int main()
{
scanf("%s",&A);
int step=0;
while(!judge(A))
{
reverse(A,B);
ADD(A,B,C);
reverse(C,D);
printf("%s + %s = %s\n",A,B,D);
strcpy(A,D);
step++;
if(step==10)
{
printf("Not found in 10 iterations.\n");
break;
}
}
if(judge(A))
{
printf("%s is a palindromic number.",A);
}
return 0;
}
PAT甲1136 A Delayed Palindrome(20 分)
最新推荐文章于 2021-08-24 18:08:48 发布