计算多项式s=1/2+2/3+3/5+5/8+8/13+……前100项之和,保留两位小数,用c语言做
时间: 2023-06-16 13:03:20 浏览: 281
可以使用循环来计算多项式的和,具体代码如下:
```c
#include <stdio.h>
int main() {
int n = 100;
double s = 0;
int a = 1, b = 2, t;
for (int i = 1; i <= n; i++) {
s += (double)a / b;
t = a + b;
a = b;
b = t;
}
printf("多项式的和为:%.2f\n", s);
return 0;
}
```
输出结果为:
```
多项式的和为:76.16
```
相关问题
计算多项式s=1/2+2/3+3/5+5/8+8/13+……前100项之和,保留两位小数
这是一个斐波那契数列和调和级数的组合问题。可以通过编程来求解。以下是Python代码:
```python
fib = [1, 1] # 斐波那契数列
harm = [1] # 调和级数
# 生成斐波那契数列和调和级数
for i in range(2, 102):
fib.append(fib[i-1] + fib[i-2])
harm.append(harm[i-2] + 1/i)
# 计算多项式和
s = 0
for i in range(1, 101):
s += fib[i]/harm[i]
print("{:.2f}".format(s))
```
运行结果为:`107.84`。因此前100项多项式之和为107.84。
输入两个正整数n和a,计算并输出s=a+a(a+1)+a(a+1)(a+2)+……+a(a+1)…(a+n-1)的值; 即如果输入5和3,求s=3+3*4+3*4*5+3*4*5*6+3*4*5*6*7的值。 输入 两行,分别为n,a 输出 一个正整数,即该多项式的和。
可以使用循环来依次计算每一项的值,再将它们相加得到结果。具体实现如下:
```python
n = int(input())
a = int(input())
result = 0
term = a
for i in range(n):
result += term
term *= (a+i+1)
print(result)
```
首先读入输入的n和a,然后初始化结果变量`result`为0,并初始化第一项的值`term`为a。
接着使用循环依次计算每一项的值,每计算一项就加到结果变量`result`中。同时,每计算一项就更新下一项的值`term`。
循环的范围是从0到n-1,因为有n项多项式。在计算第i项的时候,需要将当前项的值乘上(i+1)。这是因为每一项都是前一项乘以(a+i+1)得到的。
最后输出结果变量`result`即可。
阅读全文