#include "stdio.h"
int main()
{int sum=1;
int num=0;
for(int i=1;i<=3;i++)
{
sum=sum*i;
num+=sum;}
printf("%d ",sum);
printf("%d \n",num);
}
网络上有很多种不同的方法,但我觉得最简洁明了的还是这个,这个代码是求3的阶乘,用一个for循环即可求出这2个需要的答案,c语言用for循环并不是让它从1一路乘到n,而是将上一个积作为乘数乘循环的下一个数
#include "stdio.h"
int Fac(int n)
{if(n<=1)
return 1;
else
return n*Fac(n-1);}
int main()
{
int n=0;
int ret=0;
scanf("%d",&n);
ret=Fac(n);
printf("%d",ret);
return 0;}
也可以用这种方法求。
#include "stdio.h"
void jc(int* x){
int sum=0;
int num=1;
for(int b=1;b<=*x;b++)
{num=num*b;
sum+=num;
}
if(*x==0)
printf("1");
else
printf("%d",sum);
}
int main()
{int n;
scanf("%d",&n);
jc(&n);
}
求阶乘中还有一个情况那就是0,0的阶乘等于0这个是需要注意的