输入一个正整数,计算它的各位数字的阶乘之和,判断它是否是一个阶乘和数。当输入的数字为阶乘和数时,输出“YES”,否则输出“NO”。注意:输入的正整数的最高位不为0
1个回答
关注
展开全部
亲,您好;根据您的问题“输入一个正整数,计算它的各位数字的阶乘之和,判断它是否是一个阶乘和数。当输入的数字为阶乘和数时,输出“YES”,否则输出“NO”。注意:输入的正整数的最高位不为0”很高兴为您解答:先输出输入的正整数和一个逗号",",并从最高位开始输出组成该正整数的各位数字的阶乘相加形式,然后输出等号"="和各位数字阶乘之和,最后在下一行输出字符串"Yes"表示该正整数是阶乘和数,否则输出字符串"No"表示该正整数不是阶乘和数,输出Yes或No后输出回车换行符。所有输出字符之间都没有空格分隔。【输入样例1】【输出样例1】【输入样例2】【输出样例2】【输入样例3】【输出样例3】【样例说明】样例1中输入的正整数为145,组成它的各位数字的阶乘之和为145,所以145为阶乘和数。样例2中输入的正整数为1400,组成它的各位数字的阶乘之和为27,所以1400不是阶乘和数。样例3中输入的正整数为4,组成它的只有一位数字,其阶乘为24,也不是阶乘和数。#includeintmain(){inti=1,j,l,n,t,s=0;inta[100];scanf("%d",&n);l=n;printf("%d,",n);while(n>0){a[i]=n%10;t=1;for(j=1;j10;i+=1;}for(j=i-1;j>=1;j--){if(j!=1)printf("%d!+",a[j]);elseif(s==l)printf("%d!=%d\n",a[j],l);elseprintf("%d!=%d\n",a[j],s);}if(s==l)printf("Yes\n");elseprintf("No\n");return0;}
咨询记录 · 回答于2023-03-22
输入一个正整数,计算它的各位数字的阶乘之和,判断它是否是一个阶乘和数。当输入的数字为阶乘和数时,输出“YES”,否则输出“NO”。注意:输入的正整数的最高位不为0
亲,您好;根据您的问题“输入一个正整数,计算它的各位数字的阶乘之和,判断它是否是一个阶乘和数。当输入的数字为阶乘和数时,输出“YES”,否则输出“NO”。注意:输入的正整数的最高位不为0”很高兴为您解答:先输出输入的正整数和一个逗号",",并从最高位开始输出组成该正整数的各位数字的阶乘相加形式,然后输出等号"="和各位数字阶乘之和,最后在下一行输出字符串"Yes"表示该正整数是阶乘和数,否则输出字符串"No"表示该正整数不是阶乘和数,输出Yes或No后输出回车换行符。所有输出字符之间都没有空格分隔。【输入样例1】【输出样例1】【输入样例2】【输出样例2】【输入样例3】【输出样例3】【样例说明】样例1中输入的正整数为145,组成它的各位数字的阶乘之和为145,所以145为阶乘和数。样例2中输入的正整数为1400,组成它的各位数字的阶乘之和为27,所以1400不是阶乘和数。样例3中输入的正整数为4,组成它的只有一位数字,其阶乘为24,也不是阶乘和数。#includeintmain(){inti=1,j,l,n,t,s=0;inta[100];scanf("%d",&n);l=n;printf("%d,",n);while(n>0){a[i]=n%10;t=1;for(j=1;j10;i+=1;}for(j=i-1;j>=1;j--){if(j!=1)printf("%d!+",a[j]);elseif(s==l)printf("%d!=%d\n",a[j],l);elseprintf("%d!=%d\n",a[j],s);}if(s==l)printf("Yes\n");elseprintf("No\n");return0;}
亲,您好;根据您的问题“输入一个正整数,计算它的各位数字的阶乘之和,判断它是否是一个阶乘和数。当输入的数字为阶乘和数时,输出“YES”,否则输出“NO”。注意:输入的正整数的最高位不为0”很高兴为您解答:先输出输入的正整数和一个逗号",",并从最高位开始输出组成该正整数的各位数字的阶乘相加形式,然后输出等号"="和各位数字阶乘之和,最后在下一行输出字符串"Yes"表示该正整数是阶乘和数,否则输出字符串"No"表示该正整数不是阶乘和数,输出Yes或No后输出回车换行符。所有输出字符之间都没有空格分隔。【输入样例1】【输出样例1】【输入样例2】【输出样例2】【输入样例3】【输出样例3】【样例说明】样例1中输入的正整数为145,组成它的各位数字的阶乘之和为145,所以145为阶乘和数。样例2中输入的正整数为1400,组成它的各位数字的阶乘之和为27,所以1400不是阶乘和数。样例3中输入的正整数为4,组成它的只有一位数字,其阶乘为24,也不是阶乘和数。#includeintmain(){inti=1,j,l,n,t,s=0;inta[100];scanf("%d",&n);l=n;printf("%d,",n);while(n>0){a[i]=n%10;t=1;for(j=1;j10;i+=1;}for(j=i-1;j>=1;j--){if(j!=1)printf("%d!+",a[j]);elseif(s==l)printf("%d!=%d\n",a[j],l);elseprintf("%d!=%d\n",a[j],s);}if(s==l)printf("Yes\n");elseprintf("No\n");return0;}