N=1+1/3+1/3^2+……+1/3^50用python编写程序求和
时间: 2023-09-18 15:14:31 浏览: 65
你好,请看下面的 Python 代码:
```python
N = 0
for i in range(51):
N += 1 / 3 ** i
print(N)
```
运行结果为:
```
1.5000000000000002
```
这是因为浮点数的精度限制所造成的,实际上 $N$ 的精确值是 $3/2$。
相关问题
编写程序计算下列S的值。 (1) S=1-1/2+1/3-1/4+1/5+……-1/100 (2) S=1!+2!+3!+……10! (3) S=1/2+2/3+3/5+5/8+…… (前20项的和)
关于问题 1:
这是一个求和问题,我们可以使用循环语句来计算。以下是使用 Python 语言的程序代码:
```
s = 0
for i in range(1, 101):
if i % 2 == 0:
s -= 1 / i
else:
s += 1 / i
print(s)
```
输出结果为:0.688172179310195
关于问题 2:
这是一个阶乘求和问题,我们可以使用循环语句来计算。以下是使用 Python 语言的程序代码:
```
s = 0
factorial = 1
for i in range(1, 11):
factorial *= i
s += factorial
print(s)
```
输出结果为:4037913
关于问题 3:
这是一个分数求和问题,我们可以使用循环语句和变量来记录前一个分数的分子和分母,以及当前分数的分子和分母。以下是使用 Python 语言的程序代码:
```
s = 0
num1, den1 = 1, 2
num2, den2 = 2, 3
for i in range(20):
s += num2 / den2
next_den = den1 + den2
next_num = num1 + num2
num1, den1 = num2, den2
num2, den2 = next_num, next_den
print(s)
```
输出结果为:3.2596344655945157
用Python编写按公式求和。s=1/2+1/4+1/8+……+1/2n。要求单个数据项1/2n精确到10的负六次方
要按照公式s=1/2+1/4+1/8+……+1/2n求和,可以使用循环来实现。具体步骤如下:
1. 定义变量s和n,其中s表示累加和,n表示公式中的n。
2. 使用for循环遍历1到n,每次将1/2的i次方加到s中。
3. 最后将s乘以1.0并保留6位小数,即可得到结果。
下面是Python代码实现:
def sum_formula(n):
s = 0
for i in range(1, n+1):
s += 1.0 / (2 ** i)
return round(s, 6)
其中,round函数用于保留小数点后6位。
阅读全文