输入一个整数n(0<n<=10),求1!+2!+3!+……+n!。定义并调用函数fact(n),计算n!,函数类型是double。
时间: 2023-05-02 08:02:26 浏览: 119
java代码-使用java解决1!+2!+……+N!的源代码
5星 · 资源好评率100%
题意:输入一个整数n(0<n<=10),计算1!+2!+3!+……+n!。定义并调用函数fact(n),计算n!,函数类型是double。
解题思路:首先需要了解阶乘的计算方法,即 n! = n*(n-1)*(n-2)*...*1。然后使用循环结构计算1!+2!+3!+……+n!,每一次循环都调用fact函数计算当前循环计算的数的阶乘,最终得到结果。
代码如下所示:
```python
#include <stdio.h>
double fact(int n) { // 定义计算阶乘的函数
double res = 1;
for(int i=1; i<=n; i++) {
res *= i;
}
return res;
}
int main() {
int n;
printf("请输入一个整数n(0<n<=10): ");
scanf("%d", &n);
double sum = 0;
for(int i=1; i<=n; i++) { // 循环计算1!+2!+3!+……+n!
sum += fact(i);
}
printf("1!+2!+3!+...+%d!的结果是: %.0f", n, sum); // %.0f表示输出整数
return 0;
}
```
阅读全文