关闭

PAT 1023. Have Fun with Numbers (20)

标签: PAT
191人阅读 评论(0) 收藏 举报
分类:

题目的意思是检测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;
}


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

PAT 1023. Have Fun with Numbers (20) 【题目开始没理解好,后来折腾半天才搞懂】

1023. Have Fun with Numbers (20) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Notice that the number ...
  • u010069101
  • u010069101
  • 2014-03-08 20:39
  • 575

PAT 1023. Have Fun with Numbers (20)(字符串转换,20位数的加法)

官网1023. Have Fun with Numbers (20)时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Notice that the number 123456789 is a ...
  • qq_16949707
  • qq_16949707
  • 2016-09-07 14:51
  • 97

PAT 甲级 1023. Have Fun with Numbers(大数的两倍运算)

原题传送门 题意:给出一个长度不超过20的整数,问这个整数两倍后的数位是否为原数位的一个排列。再输出两倍后的结果。 #include <iostream> #include <string.h> using namespace std;int book[10] = {0}; ...
  • chao2016
  • chao2016
  • 2017-06-15 21:10
  • 217

每天一道编程题——Have Fun with Numbers

能力还是太差了再加上忙,这个题费了好久,最后也是部分通过,原因是unsigned long long类型的数据,当输入20位数时,也会溢出。so。。。。最后两个测试点没有过,我再想想怎么办。。。。心好塞喔~~~ 题目摘自: 浙大PAT Notice that the number 1234567...
  • sunniy27
  • sunniy27
  • 2016-11-24 11:24
  • 150

PAT 1023. 组个最小数 (20)

给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。 现给定数字,请编写程序输出能够组成的最小的数。 输入格式: 每个输入包含1个...
  • u014686453
  • u014686453
  • 2014-04-13 20:52
  • 227

[PAT乙级]1023. 组个最小数 (20)

1023. 组个最小数 (20)原题链接 给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格...
  • whl_program
  • whl_program
  • 2017-07-28 17:31
  • 143

PAT 乙级 1023. 组个最小数 (20)

1023. 组个最小数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定数...
  • hungryfoolisher
  • hungryfoolisher
  • 2017-05-04 09:48
  • 195

1058. 选择题(20)-PAT乙级真题

1058. 选择题(20) 批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。 输入格式: 输入在第一行给出两个正整数N( 输出格式: 按照输入的顺序给出每个学生的得分,每个分数占一行。注意判题时只有选择全部正确才能得到该题的分数。最后一行输出错得最...
  • liuchuo
  • liuchuo
  • 2016-09-12 09:07
  • 1580

PAT乙级.1023. 组个最小数 (20)

1023. 组个最小数 (20) 题目 给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。 ...
  • R11happy
  • R11happy
  • 2016-09-04 23:18
  • 194

1023. 组个最小数 (20)-PAT乙级

题目:给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。 现给定数字,请编写程序输出能够组成的最小的数。 输入格式: 每个输入包含1个测...
  • ZZLCSDN2017
  • ZZLCSDN2017
  • 2017-03-26 20:02
  • 224
    个人资料
    • 访问:16366次
    • 积分:735
    • 等级:
    • 排名:千里之外
    • 原创:56篇
    • 转载:11篇
    • 译文:0篇
    • 评论:5条
    最新评论