PAT数据结构陈越——自测04

00-自测4. Have Fun with Numbers (20)

400 ms

65536 kB

8000 B

Standard

CHEN, Yue
Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, with no duplication. Double it we will obtain 246913578, which happens to be another 9-digit number consisting exactly the numbers from 1 to 9, only in a different permutation. Check to see the result if we double it again!

Now you are suppose to check if there are more numbers with this property. That is, double a given number with k digits, you are to tell if the resulting number consists of only a permutation of the digits in the original number.

Input Specification:

Each input file contains one test case. Each case contains one positive integer with no more than 20 digits.

Output Specification:

For each test case, first print in a line “Yes” if doubling the input number gives a number that consists of only a permutation of the digits in the original number, or “No” if not. Then in the next line, print the doubled number.

Sample Input:
1234567899
Sample Output:
Yes
2469135798

int main() {
//记录输入正整数的数字组成
int zc[10] = {0};
//因为不知道长度所以先读取成字符串
char input_str[25];
cin>>input_str;
//获得字符串长度
int length = strlen(input_str);
int num[25];
int i;
//字符数组转换成int数组,并赋值记录数组
for(i=0;i<length;i++) {
num[i] = input_str[length-i-1]-'0';
zc[num[i]]++;
}
//for(i=0;i<10;i++) cout<<zc[i]<<" ";
//把原来的数字x2
int c = 0;
for(i=0;i<length;i++) {

int s = num[i]*2+c;
num[i] = s%10;
c = s/10;
}
if(c!=0) {
num[length]=c;
length++;
}
for(i=0;i<length;i++) {
zc[num[i]]--;
}
bool isOk=true;
for(i=0;i<10;i++) {
if(!zc[i]==0) isOk=false;
}
for(i=length-1;i>=0;i--) cout<<num[i];
cout<<endl;
if(isOk) cout<<"YES";
else cout<<"NO";
cout<<endl;
return 0;
}
• 本文已收录于以下专栏：

中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题&代码

• qq_25436597
• 2017年12月16日 17:54
• 56

PTA中国大学MOOC-陈越、何钦铭-数据结构-2017春课后作业03树1 树的同构

03-树1 树的同构   (25分) 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2，则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的，因为我们把其中一棵树的结点A、...
• winnerCLAY
• 2017年03月30日 12:13
• 837

中国大学MOOC-陈越、何钦铭-数据结构 Tree Traversals Again

• qq_23849183
• 2015年10月19日 19:18
• 1169

中国大学MOOC-陈越、何钦铭-数据结构基础习题——总结

• xkzju2010
• 2015年07月01日 15:02
• 1032

陈越《数据结构》第一讲 基本概念

• huang1024rui
• 2017年06月08日 21:34
• 883

数据结构~新学期寄予~你怎么知道我被翁凯虐惨了

• moomooi
• 2015年08月23日 21:05
• 1029

网易云课堂 浙江大学-陈越、何钦铭-数据结构基础习题集（自测）

• chaiwenjun000
• 2015年08月07日 22:01
• 2451

陈越、何钦铭《数据结构》第一讲基本概念 笔记

1.1什么是数据结构 1.1.1关于数据组织-例：图书摆放 ”数据结构是数据对象，以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相应的函数来给出。“ Sartaj ...
• wtrnash
• 2015年09月03日 16:22
• 1855

陈越《数据结构》第二章 线性结构

2.1 线性表2.1.1 基本知识例1：一元多项式及其运算 f(x)=a0+a1x....+an−1xn−1+anxnf(x)=a_0 + a_1 x ....+a_{n-1}x^{n-1} + a...
• huang1024rui
• 2017年06月12日 12:08
• 698

中国大学MOOC-陈越、何钦铭-数据结构-2015秋 03-树3 Tree Traversals Again (25分)

• just_sort
• 2015年09月26日 16:45
• 1535

举报原因： 您举报文章：PAT数据结构陈越——自测04 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)