PAT 1023. Have Fun with Numbers (20)

题目的意思是检测n与n*2是否都是由一样的数字组成 排列顺序不同

无奈渣英语理解不了这意思

#include<cstdio>
#include<cstring>
#include<iostream>
#include<cstdlib>
#include<cmath>
#include<vector>
#include<map>
#include<stack>
#include<queue>
using namespace std;
void check(char str[],int j ,int a[])
{
       for(int i=0;i<j;i++)

        a[str[i]-'0']++;



}
int check1(int a[],int c[])
{
    for(int i=0;i<10;i++)
        if(a[i]!=c[i])
          return 0;
    return 1;
}
int main()
{
    int n,b;
    char str1[22],str2[22];


  scanf("%s",str1);
  int j=0;
  int t=0;
  int a[10]={0};
  int c[10]={0};
  int i;
  for(i=strlen(str1)-1;i>=0;i--)
 {   str2[j++]=(((str1[i]-'0')*2)+t)%10+'0';
        t=((str1[i]-'0')*2+t)/10;

        if(i==0&&t>0)
        {
            str2[j++]=t+'0';
        }
    }
check(str2,j,a);
check(str1,strlen(str1),c);
    if(check1(a,c))
        printf("Yes\n");
    else
        printf("No\n");
    for(i=j-1;i>=0;i--)
        printf("%c",str2[i]);
        printf("\n");

    return 0;
}


阅读更多
版权声明:未经允许,可以转载 https://blog.csdn.net/Genius_J/article/details/49951023
文章标签: PAT
个人分类: PAT
想对作者说点什么? 我来说一句

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

不良信息举报

PAT 1023. Have Fun with Numbers (20)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭