S(n)=1-1/3+1/5-1/7+…1/(2n-1),求s(100)
时间: 2023-11-19 21:05:21 浏览: 216
根据提供的引用内容,函数void fun(float *sn,int n)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0 ;S=1-1/3+1/5-1/7+…+1/(2n+1) 。我们需要根据这个公式来求解S(100)。
以下是求解S(100)的代码:
```python
def fun(n):
s = 0.0
f = -1.0
for i in range(n+1):
f = -1*f
w = f / (2 * i + 1)
s += w
return s
result = fun(100)
print(result)
```
输出结果为:0.7849685015405824
相关问题
编写程序,输入正整数n,求s=1-2!/3+3!/5+....+(-1)^(n+1)n!/(2n_1)
可以使用循环来依次计算每一项,并累加到总和中。下面是一个示例代码:
```python
n = int(input("请输入正整数n:"))
s = 0
sign = 1 # 符号变量,初始为1
factorial_n = 1 # 阶乘变量,初始为1
for i in range(1, n+1):
factorial_n *= i # 计算当前项的分母n!
denominator = 2*i - 1 # 计算当前项的分母2n-1
s += sign * factorial_n / denominator # 计算当前项并累加到总和中
sign *= -1 # 符号取反
print("s =", s)
```
这个程序先读入正整数n,然后初始化总和s为0,符号变量为1,阶乘变量为1。然后使用for循环依次计算每一项,计算当前项的分母和分子,根据符号变量计算当前项的值并累加到总和中,然后将符号取反。最后输出总和s即可。
c 语言 编写程序,输入正整数n,求s=1-2!/3+3!/5+....+(-1)^(n+1)n!/(2n_1)
以下是使用 C 语言编写的程序,用于计算上述表达式:
```c
#include <stdio.h>
int main() {
int n, i, j;
double s = 0, a = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
a *= i;
if (i % 2 == 1)
s += a / (2 * i - 1);
else
s -= a / (2 * i - 1);
}
printf("s = %f", s);
return 0;
}
```
该程序首先输入正整数 n,然后使用 for 循环计算表达式中的每一项,并将它们累加到变量 s 中。在每次循环中,程序会更新变量 a,以计算下一个阶乘。如果当前项的下标是奇数,则将该项加到 s 中;否则将该项减去。最后,程序输出变量 s 的值,即表达式的结果。
阅读全文