编写函数,要求根据以下公式计算S的值,注意:计算结果作为函数值返回。S=1+1/(1!+2!)+1/(1!+2!+3!)+....+1/(1!+2!+3!+....n!)
时间: 2024-01-16 18:05:27 浏览: 70
根据提供的引用内容,以下是计算S的函数fun的实现方法:
```c
float fun(int n) {
int i, j;
float s = 0, sum = 0, fac = 1;
for (i = 1; i <= n; i++) {
sum += i;
fac *= i;
s += 1 / fac / sum;
}
return s + 1;
}
```
其中,变量s用于计算结果,变量sum用于计算1+2+3+…+n的和,变量fac用于计算阶乘。在循环中,每次更新sum和fac的值,并将1/fac/sum加到s中。最后返回s+1即可得到最终结果。
相关问题
编写函数,要求根据以下公式计算S的值,注意: 计算结果作为函数值返回。S= 1+1 /(1! +2!)+1/(1! +2! +3!)+······+1/(1! +2! +3! ······+n!)
根据提供的引用内容,以下是计算S的函数fun的实现方法:
```c
float fun(int n) {
int i, j;
float s = 0, sum = 0, fac = 1; // s:计算结果; sum:1+2+3+…+n的和; fac:阶乘
for (i = 1; i <= n; i++) {
sum += i;
fac *= i;
s += 1 / fac / sum;
}
return s + 1;
}
```
其中,变量fac用于计算阶乘,s用于计算结果,sum用于计算1+2+3+…+n的和。在循环中,每次迭代都会更新sum和fac的值,并将1/fac/sum加到s中。最后,将s加1并返回。
计算公式s=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+…+n)的值 编写函数fun(), 实现功能:根据公式s=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+…+n)计算s,计算结果作为函数值返回,n通过形参传入。
计算公式s=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+…+n)的值为s=1/(1)+1/(1+2)+1/(1+2+3)+…+1/(1+2+…+n),即s的每一项分母为1到n的和,分子为1,2,3,...,n。因此,可以使用循环来计算s的值。
```
// 代码类型:C语言
double fun(int n){
double s = 0;
int sum = 0;
for(int i = 1; i <= n; i++){
sum += i;
s += 1.0 / sum;
}
return s;
}
```
阅读全文