如何计算n到1的所有阶乘?

如题所述

循环方法:

#include <stdio.h>

int main() {

int n = 8; // 计算1到8阶乘的和

int sum = 0;

int factorial = 1;

for (int i = 1; i <= n; i++) {

factorial *= i;

sum += factorial;

}

printf("1到%d阶乘的和为:%d\n", n, sum);

return 0;

}

递归方法:

#include <stdio.h>

int factorial(int n) {

if (n == 1) {

return 1;

} else {

return n * factorial(n - 1);

}

}

int main() {

int n = 8; // 计算1到8阶乘的和

int sum = 0;

for (int i = 1; i <= n; i++) {

sum += factorial(i);

}

printf("1到%d阶乘的和为:%d\n", n, sum);

return 0;

}

温馨提示:答案为网友推荐,仅供参考
相似回答