请注意,数字123456789是一个9位数字,完全由1到9的数字组成,没有重复。将其加倍,我们将获得246913578,这恰好是另一个9位数字,正好由1到9的数字组成,只是在不同的排列中。如果我们再翻倍,请查看结果!
现在,假设您检查是否有更多具有此属性的数字。也就是说,用k个数字将给定的数字加倍,你要知道结果数字是否只由原始数字中的数字排列组成。
输入规格:
每个输入包含一个测试用例。每个大小写包含一个不超过20位的正整数。
输出规格:
对于每个测试用例,如果输入数字加倍,则首先打印一行“是”,给出一个仅由原始数字中的数字排列组成的数字,如果不是,则打印“否”。然后在下一行中,打印加倍的数字。
Sample Input:
1234567899
结尾无空行
Sample Output:
Yes
2469135798
结尾无空行
#include<stdio.h>
#include<string.h>
char a[50],b[50]; //a用于记录输入的数字 b用来记录需要进位的数字 当a+b时为*2后的数
int a1[11],a2[11];//使用桶排序记录每个输入数字的个数
int main(){
int i=1,len,k=1,judge=1,number;
a[0]='0';//先空出第一个为0 方便进位
a[i]=getchar();
whil