2.完成子函数 double fun(int n),返回表达式 1+1/2!+1/3!+1/4!+⋯+1/n! 之和。
时间: 2023-11-27 15:02:25 浏览: 94
以下是实现该函数的Python代码:
```python
import math
def fun(n):
result = 0
for i in range(1, n+1):
result += 1 / math.factorial(i)
return result
print(fun(5)) # 输出:1.7166666666666666
```
该函数使用了Python内置的math库中的factorial函数来计算阶乘。在函数中,我们使用for循环来遍历1到n的所有整数,并将每个整数的阶乘的倒数加到结果中。最后,返回结果即可。
相关问题
完成子函数 double fun(int n),返回表达式 1+1/2!+1/3!+1/4!+⋯+1/n! 之和。
函数fun的功能是计算并返回表达式 1+1/2!+1/3!+1/4!+⋯+1/n! 的和。其中n是一个大于1但不大于100的整数。函数fun的返回值类型为double。下面是函数fun的代码实现:
```
double fun(int n){
double sum = 1.0;
double factorial = 1.0;
for(int i = 2; i <= n; i++){
factorial *= i;
sum += 1.0 / factorial;
}
return sum;
}
```
函数fun的实现过程中,我们使用了一个循环来计算表达式的和。在循环中,我们使用了一个变量factorial来计算阶乘,使用了一个变量sum来计算表达式的和。最后,我们返回了sum的值作为函数的返回值。
程序填空题 5 函数题 3 编程题 3 1-1 调用函数fun计算表达式1+1/2+1/3+···+1/n的值并输出 分数 15 作者 崔孝凤 单位 山东理工大学 下列程序的功能是调用函数fun计算表达式1+1/2+1/3+···+1/n的值并输出,结果保留3位小数,不添加任何提示信息,请填空完成程序功能。 #include <stdio.h> double fun(int n) {double t=1.0; int i; for(i=2; i<=n ;i++) t=; return t ; } int main(void) {int m; double s; scanf("%d",&m); s= ; //调用函数 printf() ; return 0; }
#include <stdio.h>
double fun(int n) {
double t = 1.0;
int i;
for(i = 2; i <= n; i++) {
t += 1.0 / i; // 表达式1+1/2+1/3+...+1/n 的计算公式
}
return t;
}
int main(void) {
int m;
double s;
scanf("%d", &m);
s = fun(m); // 调用函数
printf("%.3lf", s); // 输出结果并保留3位小数
return 0;
}
阅读全文