简单版
#include <stdio.h> int main() { int n; scanf("%d", &n); int sum = 0, ret = 1; for(int i = 1; i <= n; i++) { ret = 1;//注意这个地方 for(int j = 1; j <= i; j++) { ret = ret * j; } sum += ret; } printf("%d", sum); return 0; }
优化版:
我们知道5!= 4!* 5
所以可以演化为:n! = (n-1)! * n
#include<stdio.h> int main() { int num; int sum=0; int a=1; scanf("%d", &num); for(int i=1;i<=num;++i) { a=a*i; sum+=a; } printf("%d",sum); return 0; }