1024 Palindromic Number (25)

来源:互联网 发布:神经网络算法 编辑:程序博客网 时间:2024/06/05 15:36

大数模拟

#include <cstdio>#include <cstring>#include <algorithm>using namespace std;bool pal(char a[]) {    int len = strlen(a);    for (int i = 0; i < len; i++)        if (a[i] != a[len-1-i])            return false;    return true;}void add(char a[]) {    char tmp[1000];    int k = 0;    int len = strlen(a);    for (int i = 0; i < len; i++) {        tmp[i] = a[i] - '0' + a[len-1-i] - '0' + k;        k = tmp[i] / 10;        tmp[i] = tmp[i] % 10 + '0';    }    for (int i = 0; i < len; i++)        a[i] = tmp[i];    if (k)        a[len++] = '1';    a[len] = '\0';}int main() {    char a[1000];    int k;    scanf("%s%d", a, &k);    int i = 0;    for (; i < k && !pal(a); i++)         add(a);    int len = strlen(a);    for (int i = len-1; i >= 0; i--)        printf("%c", a[i]);    printf("\n%d\n", i);}
0 0
原创粉丝点击