中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题 自测-4 Have Fun with Numbers (20分)

在这里插入图片描述

#include <iostream>
#include <cstring>
using namespace std;
char a[29], b[29];
int visa[10], visb[10];
int main()
{
    scanf("%s", a);
    int la = strlen(a);
    int f = 0, flag = 0;
    int cur = 21;
    for (int i = la - 1; i >= 0; i--)
    {
        int t = a[i] + a[i] - '0' - '0';
        if (f)
        {
            t += f;
            f = 0;
        }
        if (t >= 10)
        {
            f = t / 10;
            t = t % 10;
        }
        b[cur--] = '0' + t;
    }
    if (f)
    {
        b[cur--] = '0' + f;
    }
    for (int i = 0; i < la; i++)
    {
        visa[a[i] - '0']++;
    }
    for (int i = 21; i > cur; i--)
    {
        visb[b[i] - '0']++;
    }
    for (int i = 0; i < 10; i++)
    {
        if (visa[i] != visb[i])
        {
            flag = 1;
            break;
        }
    }
    if (!flag)
    {
        printf("Yes\n");
    }
    else
        printf("No\n");
    for (int i = cur + 1; i <= 21; i++)
    {
        printf("%c", b[i]);
    }
    printf("\n");
    return 0;
}
发布了318 篇原创文章 · 获赞 147 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_44458489/article/details/105593549