1023. Have Fun with Numbers (20)
来源:互联网 发布:赫连勃勃大王知乎 编辑:程序博客网 时间:2024/05/18 09:02
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
#include<iostream>#include<string>#include<cstring>using namespace std;int main(){//x:input number//x2:double numberchar x[21],x2[21],t;//xdigit:appearence time if each digit from 0 to 9//it is more convenient to compare by using function strcmp than int[]char xdigit[11],x2digit[11];memset(xdigit, '0',sizeof (xdigit)); xdigit[10]='\0';strcpy(x2digit,xdigit);int i=0;cin>>x;while(x[i]!='\0' ){++xdigit[x[i]- '0'];//count each digit for xx2[i]=(x[i]- '0')*2+'0' ;//double each digit++i;}x2[i]= '\0';while(--i){if(x2[i]-'0' >9)//{++x2[i-1]; x2[i]-=10;}++x2digit[x2[i]- '0'];//count each digit for x2 except the first digit}if(x2[0]-'0' >9){ //if the first digit of x2 is more than 9,that means the length of x2 increases by 1 digitcout<< "No"<<endl;x2[0]-=10;cout<<1<<x2<<endl;return 0;}else{++x2digit[x2[0]- '0'];//don't forget the first digit!if(strcmp(xdigit,x2digit)==0)cout<< "Yes"<<endl;else cout<<"No" <<endl;cout<<x2;}return 0;}
- 1023. Have Fun with Numbers (20)
- 【PAT】1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- PAT: 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 协方差、相关系数---通俗解释
- jQuery源码解析(架构与依赖模块)
- WV.27-大数阶乘算法7-入门篇之二
- HDU2212 DFS【水题】【打表】
- 让Angularjs外面表单忽略对内嵌表单的校验
- 1023. Have Fun with Numbers (20)
- iOS视图切换动画
- 1024. Palindromic Number (25)
- Android中SwipeRefreshLayout和listview的冲突解决办法
- Raspberry Pi -- Cross Compiling on Mac OSX
- WCF学习之基本概念的理解
- Android 控制ScrollView滚动到底部
- WV.28-大数阶乘算法8-入门篇之三汇编的威力
- Swift 登录页面跳转,条件判断 ,页面跳转