自测-4 Have Fun with Numbers (20分)
#include <stdio.h>
int main(int argc, const char * argv[]) {
char num[21];
scanf("%s",num);
int a[20] = {0};
int b[21] = {0};
int count = 0;
while(num[count]!='\0')
{
a[count] = num[count]-'0';
count++;
}
b[count] = (a[count-1]*2)%10;
for (int i=count-1; i>0; i--) {
b[i] = (((a[i]*2)/10)+a[i-1]*2)%10;
}
b[0] = ((a[1]*2)/10+a[0]*2)/10;
int a1[10] = {0};
int b1[10] = {0};
if (b[0]!=0) {
printf("No\n");
for(int i=0;i<=count;i++)
{
printf("%d",b[i]);
}
printf("\n");
return 0;
}else{
for (int i=0,j=1; i<count; i++,j++) {
a1[a[i]]++;
b1[b[j]]++;
}
int flag = 1;
for (int i=0; i<10; i++) {
if (a1[i]!=b1[i]) {
flag = 0;
break;
}
}
if(flag==1){
printf("Yes\n");
}else{
printf("No\n");
}
}
for(int i=1;i<=count;i++)
{
printf("%d",b[i]);
}
printf("\n");
return 0;
}