7-40 Have Fun with Numbers(30 分)
来源:互联网 发布:手机视频软件baidu 编辑:程序博客网 时间:2024/05/16 11:03
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 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:
Yes2469135798
我的代码:#include<stdio.h>void sort(int a[],int n){ int i,j; for(i=1;i<n;i++) { int temp=a[i]; for(j=i;j>0&&a[j-1]>temp;--j) a[j]=a[j-1]; a[j]=temp; }}int main(){char s[21];int i;int before[20]={0};int after[20]={0};//输入 for(i=0;i<20;i++){scanf("%c",&s[i]);if(s[i]=='\n') break;}//读入数组int x=i-1;for(int j=x;j>=0;j--){before[j]=(s[j]-'0');}int mid,book=0;//考虑位数不匹配的情况if(s[0]>='5'){for(int g=i+1;g>=0;g--)s[g+1]=s[g];i++;s[0]='0';} //加倍 for(i=i-1;i>=0;i--){if(book==1){mid=(s[i]-'0')*2+1;book=0;}else mid=(s[i]-'0')*2;if(mid>=10){book=1;s[i]=mid%10+'0';}else{s[i]=mid+'0';}}//读入数组for(int m=x;m>=0;m--){after[m]=(s[m]-'0');} //判断sort(before,20);sort(after,20);int ise=0;for(int z=0;z<20;z++){if(before[z]!=after[z])ise++;}if(ise>0) printf("No\n%s",s);else printf("Yes\n%s",s);}
- 7-40 Have Fun with Numbers(30 分)
- 7-49 Have Fun with Numbers(20 分)
- Have Fun with Numbers
- Have Fun with Numbers
- Have Fun with Numbers
- [PTA MOOC] 自测-4 Have Fun with Numbers(20 分)
- 1023. Have Fun with Numbers
- 1023. Have Fun with Numbers
- PAT_1023: Have Fun with Numbers
- 1023. Have Fun with Numbers
- 1023. Have Fun with Numbers
- 1023.Have Fun with Numbers
- pat1023 Have Fun with Numbers
- Have Fun with Numbers (20)
- pat Have Fun with Numbers
- 1023 Have Fun with Numbers
- PAT Have Fun with Numbers
- 4 Have Fun with Numbers
- Spring基础之AOP
- 关于数组的补充问题
- nvidia-smi还是nvidia-prime都是显示无效
- zabbix监控检测hbase的region一致性
- 理解RxJava(四)Subject用法及原理分析
- 7-40 Have Fun with Numbers(30 分)
- 20171219
- java中数组工具类Arrays
- 查找数组重复的元素
- 1、测试基础
- 7-15 找完数(20 分)
- org.hibernate.boot.MappingNotFoundException解决方案
- FPGA-Modelsim仿真不出来波形可能的原因
- 生产者消费者问题简单解决之ArrayBlockingQueue的详解与使用