PAT甲1023 Have Fun with Numbers (20)(20 分)

#include <stdio.h>
#include <string.h>
using namespace std;

void doubleup(char a[],char b[])
{
    int c=0;
    int len=0;
    for(int i=strlen(a)-1;i>=0;i--)
    {
        b[len++]=((a[i]-'0')*2+c)%10+'0';
        c=(a[i]-'0')*2/10;
    }
    if(c!=0)b[len++]=c+'0';
    b[len++]='\0';
}

int harsh[10];

int main()
{
    char A[110],B[110];
    scanf("%s",&A);
    doubleup(A,B);
    for(int i=0;i<strlen(A);i++)
    {
        harsh[A[i]-'0']++;
    }
    for(int i=0;i<strlen(B);i++)
    {
        harsh[B[i]-'0']--;
    }
    bool flag=true;
    for(int i=0;i<=9;i++)
    {
        if(harsh[i]!=0)
        {
            printf("No\n");
            flag=false;
            break;
        }
    }
    if(flag)
    {
        printf("Yes\n");
    }
    for(int i=strlen(B)-1;i>=0;i--)
    {
        printf("%c",B[i]);
    }
    return 0;
}
阅读更多
文章标签: 1023
个人分类: PAT
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭