【PAT】【Advanced Level】1023. Have Fun with Numbers (20)
来源:互联网 发布:python list 去重 编辑:程序博客网 时间:2024/06/07 07:51
1023. Have Fun with Numbers (20)
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:1234567899Sample Output:
Yes2469135798
https://www.patest.cn/contests/pat-a-practise/1023
思路:
按要求计算统计即可
CODE:
#include<iostream>#include<cstring>#include<string>using namespace std;int main(){ string a; cin>>a; int c[a.length()+1]; int flag1[10]; int flag2[10]; memset(flag1,0,sizeof(flag1)); memset(flag2,0,sizeof(flag2)); memset(c,0,sizeof(c)); for (int i=a.length()-1;i>=0;i--) { flag1[a[i]-'0']=1; c[i+1]+=(a[i]-'0')*2; c[i]=c[i+1]/10; c[i+1]%=10; } if (c[0]!=0) flag2[c[0]]=1; for (int i=1;i<=a.length();i++) flag2[c[i]]=1; int re=0; for (int i=0;i<10;i++) if (flag1[i]!=flag2[i]) { re=1; break; } if (re==0) cout<<"Yes"<<endl; else cout<<"No"<<endl; if (c[0]!=0)cout<<c[0]; for (int i=1;i<=a.length();i++) cout<<c[i]; return 0;}
- 1023. Have Fun with Numbers (20) @ PAT (Advanced Level) Practise
- 【PAT Advanced Level】1023. Have Fun with Numbers (20)
- 【c++】PAT (Advanced Level)1023. Have Fun with Numbers (20)
- 【PAT (Advanced Level)】1023. Have Fun with Numbers (20)
- PAT (Advanced Level) Practise 1023. Have Fun with Numbers (20)
- 浙大 PAT Advanced level 1023. Have Fun with Numbers (20)
- 【PAT】【Advanced Level】1023. Have Fun with Numbers (20)
- [PAT (Advanced Level) ]1023. Have Fun with Numbers 解题文档
- PAT (Advanced Level) Practise 1023 Have Fun with Numbers (20)
- PAT (Advanced Level) Practise 1023 Have Fun with Numbers (20)
- PAT (Advanced Level) 1023. Have Fun with Numbers (20) 字符串翻倍,哈希
- 1023. Have Fun with Numbers (20)【字符串操作】——PAT (Advanced Level) Practise
- Pat(Advanced Level)Practice--1023(Have Fun with Numbers)
- 【PAT】1023. Have Fun with Numbers (20)
- PAT: 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- Hibernate中@OneToMany与ManyToOne的mappedBy和@JoinColumn区别
- kindeditor的使用心得
- 2262. Goldbach's Conjecture
- js中的预解析(变量提声)、作用域链、闭包机制
- JavaScript惰性载入函数
- 【PAT】【Advanced Level】1023. Have Fun with Numbers (20)
- maven打包报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.5:test
- MariaDB开启慢查询日志
- 域名忘记续费后的问题
- display:table-cell的集中应用
- 解决Perhaps you are running on a JRE rather than a JDK ?的问题
- CCF201403-3 命令行选项
- 文件编程之C库函数
- 字符串的排序及交换