1024. Palindromic Number

来源:互联网 发布:origin多组数据作图 编辑:程序博客网 时间:2024/05/29 18:17
#include <stdio.h>#include <string.h>int IsPalindromic(int num[],int len);int Add(int num[],int num2[], int len);int main(){int  k,len,i,step=0,num[111],reversed[111];long long n;scanf("%lld %d", &n,&k);for (len = 0; n; len++) {/*反过来存放*/num[len] = n % 10;n /= 10;}while (step<k) {if (IsPalindromic(num, len)) break;for (i = 0; i < len; i++)reversed[len - i - 1] = num[i];len=Add(num, reversed, len);step++; }for (i = 0; i < len; i++)printf("%d", num[i]);printf("\n%d", step);return 0;}int IsPalindromic(int num[],int len){int i = 0, j = len-1,Is=1;while (i != j&&j + 1 != i) {if (num[i] != num[j]) {Is = 0;break;}i++;j--;}return Is;}int Add(int num[], int num2[], int len)/*相加并存放在num中*/{int i,CF=0,j=0,temp,newlen;int ans[111];for (i = 0; i < len; i++) {temp = num[i] + num2[i] + CF;CF = temp / 10;ans[i] = temp % 10;}if (CF)ans[i++] = CF;newlen = i;while (i--)num[j++] = ans[i];return newlen;}

0 0
原创粉丝点击