PTA厦大慕课计算阶乘与和数
发布时间
阅读量:
阅读量
计算阶乘和数的问题。假设存在一个三位数m,其百位、十位以及个位上的数字分别为a、b、c,若满足m等于a的阶乘加上b的阶乘再加上c的阶乘,则该三位数被称为三位阶乘和数(规定0的阶乘为1)。
编写用于计算n的阶乘的函数:long fact(int n);该函数的功能是返回n的阶乘结果。
在主程序中输入数值n,调用fact函数进行计算,并据此判断该数值是否属于阶乘和数。
输入格式要求:
输入一个整数n,且该整数位于100到999之间。
输出格式要求:
输出判断结果,表明该数值是否为阶乘和数。
输入示例:
300
输出示例:
不是阶乘和数
#include<stdio.h>
long fact(int n)
{
if(n==1) return 1L;
return n*fact(n-1);
}
int main()
{
int x,a,b,c;
scanf("%d",&x);
a=x/100; b=x/10%10; c=x%10;
if(x==fact(a)+fact(b)+fact(c))
printf("是阶乘和数");
else printf("不是阶乘和数");
return 0
全部评论 (0)
还没有任何评论哟~
