阶乘累加.刚学不会呀,头秃啦,啦

输入整数n,编程计算sum=1!+2!+.....+n!

int a=0,sum=0,n=12;
for(int i=1;i<=n;i++)
{
a*=i;
sum+=a;
}

#include <stdio.h>


unsigned long  factorial(int n)//求阶乘
{
    int sum = 1;
    
    n&&(sum = n*factorial(n-1));//递归到0时,利用与的"短路"性质,递归返回sum=1
    
    return sum;

}

int main(int argc ,char **argv[])
{
    
    int i = 0;
    int n = 0;
    int sum = 0;
    printf("please enter the n :");
    scanf("%d",&n);
    for( i = 1 ; i <= n ; i++) //32位最大十亿位,n要小于15,否则溢出
            sum += factorial(i);

    printf("sum=1!+2!+......+%d!=%d\n",n,sum);

    return 0;

}

n=3

img

n=4

img

n=5

img

希望采纳