1024. Palindromic Number (25)

来源:互联网 发布:卡佩拉毒蛇队数据 编辑:程序博客网 时间:2024/06/05 07:44

回文数,用字符串相加,设置一个进位存储

1234567891011121314151617181920212223242526272829303132333435363738
#include <cstdio>#include <cstring>char n[200];int k;bool ispal(char *s){  for(int i=0;i<strlen(s)/2;i++)    if(s[i]!=s[strlen(s)-i-1]) return false;  return true;}void add(char *s){  char sum[200];  int m=strlen(s);  for(int i=m-1;i>=0;i--)    sum[i]=s[m-i-1];  int c=0;  for(int i=0;i<m;i++){    sum[i]+=s[i]-48+c;    if(sum[i]>'9'){      c=1;      sum[i]-=10;    }    else c=0;  }  if(c){sum[m]='1';m++;}  for(int i=0;i<m;i++)    s[i]=sum[m-1-i];  s[m]=0;}int main(){  scanf("%s%d",n,&k);  int i;  for(i=0;i<k;i++){    if(ispal(n)) break;    add(n);  }  printf("%s\n%d",n,i);  return 0;}

0 0
原创粉丝点击