如何计算3!/100-6!/100+9!/100-...n!/100
n的阶乘求和我已经回了,但是不知道n到底是次数还是数值,n是只能为3的倍数吗?

c的阶乘进阶版,已会C语言简单阶乘问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- Gary_HanJR 2023-04-15 12:26关注
n 的取值需要满足 n=3k (其中 k 为任意整数),因为每三项一组,且 n 的阶乘中包含了从 1 到 3 的所有自然数,所以只有当 n 是 3 的倍数时,每三项的阶乘才能凑成完整的一组。因此,如果你要计算 3!/100-6!/100+9!/100-...n!/100,而k应该就是你所说的次数,n是数值
#include <stdio.h> #include <math.h> int factorial(int n); int main() { int n, k; double sum = 0.0; printf("请输入 n:"); scanf("%d", &n); if (n <= 0 || n % 3 != 0) { printf("输入错误,请确定输入 n 为 3 的正整数倍。\n"); return 1; } for (k = 1; k <= n/3; k++) { sum += pow(-1, k+1) * factorial(3*k) / 100.0; } printf("结果为:%f\n", sum); return 0; } int factorial(int n) { if (n <= 1) { return 1; } else { return n * factorial(n-1); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用