PTA——乘2后不变

时间:2023-03-09 12:58:49
PTA——乘2后不变

PTA

乘2后不变

 #include<stdio.h>
#include<string.h>
#define N 21 int main(){
char original[N];
int doubledNum[N],i,digitsCount[];
int carry = ,isSame = ;
gets(original); for(i=;i<strlen(original);i++){
doubledNum[i] = *(original[i]-'');
}
for(i=strlen(original)-;i>=;i--){
if(i>){
doubledNum[i-] += doubledNum[i]/;
doubledNum[i] %= ;
}
else{
carry += doubledNum[i]/;
doubledNum[i] %= ;
}
}
if(carry){
isSame = ;
}else{
for(i=;i<;i++){
digitsCount[i] = ;
}
for(i=;i<strlen(original);i++){
digitsCount[original[i]-'']++;
}
for(i=;i<strlen(original);i++){
digitsCount[doubledNum[i]]--;
}
for(i=;i<;i++){
if(digitsCount[i]!=){
isSame = ;
break;
}
}
}
if(isSame){
printf("Yes\n");
}else{
printf("No\n");
}
if(carry){
printf("%d",carry);
}
for(i=;i<strlen(original);i++){
printf("%d",doubledNum[i]);
}
return ;
}