萌新计算阶乘和!因是计算阶乘的进一步,稍稍复杂了一点,具体有思路就很简单,下面是一段简单代码。
先放代码,后面慢慢解释。
#include<stdio.h>
int main()
{
long long i,N,sum,n;
n=1;
sum=0;
scanf("%lld",&N);
if(N<0){
printf("没有阶乘");
}
else if(N==0){
printf("1");
}
else{
for(i=1;i<=N;i++){
n=n*i;
sum+=n;
}
printf("%lld",sum);
}
return 0;
}
首先输入一个数N,如果是负数,负数是没有阶乘的,就输出“没有阶乘”;如果是0,0的阶乘是1,输出“1”;尔后,重头戏来了,N是整数时的阶乘和,我用sum来表示。
按照数学思维,阶乘和sum=1!+2!+3!+……+N!
在此,我们用一个for循环来完成。上述代码中的n刚开始时是等于1!,sum=1!,经过了一次循环后,n=2!, sum=1!+2!,以此类推,最终n=N!, 而sum=1!+2!+……+N!,N的阶乘和就算出来了。
欢迎大家多讨论。