用 while 语句和 do-while 语句求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…前 20 项的和。
时间: 2023-06-02 11:02:49 浏览: 145
使用 while 语句:
```python
n1, n2 = 2, 1 # 分数序列的第一项是 2/1
sum = 0 # 和的初始值为 0
count = 1 # 计数器初始值为 1
while count <= 20:
sum += n1 / n2 # 将当前项的值加入和中
n1, n2 = n1 + n2, n1 # 计算下一项的值
count += 1 # 计数器加 1
print("前 20 项的和为:", sum)
```
使用 do-while 语句:
```python
n1, n2 = 2, 1 # 分数序列的第一项是 2/1
sum = 0 # 和的初始值为 0
count = 1 # 计数器初始值为 1
while True:
sum += n1 / n2 # 将当前项的值加入和中
n1, n2 = n1 + n2, n1 # 计算下一项的值
count += 1 # 计数器加 1
if count > 20:
break # 如果计数器超过 20,退出循环
print("前 20 项的和为:", sum)
```
相关问题
C语言用while语句和do-while语句求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…前20项的和
以下是C语言使用while语句和do-while语句求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…前20项的和的代码:
使用while语句:
```c
#include <stdio.h>
int main() {
int i = 1;
double a = 2, b = 1, sum = 0, t;
while (i <= 20) {
sum += a / b;
t = a;
a = a + b;
b = t;
i++;
}
printf("前20项的和为:%lf\n", sum);
return 0;
}
```
使用do-while语句:
```c
#include <stdio.h>
int main() {
int i = 1;
double a = 2, b = 1, sum = 0, t;
do {
sum += a / b;
t = a;
a = a + b;
b = t;
i++;
} while (i <= 20);
printf("前20项的和为:%lf\n", sum);
return 0;
}
```
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13……求这个数列的前20项之和,分别用while语句和do-while语句两种方法
使用while和do-while两种方法求这个数列的前20项之和。
while语句:
numerator_1 = 2
numerator_2 = 3
denominator_1 = 1
denominator_2 = 2
sum = 0
i = 0
while i < 20:
sum += numerator_1/denominator_1
temp_numerator = numerator_1 + numerator_2
numerator_1 = numerator_2
numerator_2 = temp_numerator
temp_denominator = denominator_1 + denominator_2
denominator_1 = denominator_2
denominator_2 = temp_denominator
i += 1
print("前20项之和为:", sum)
do-while语句:
numerator_1 = 2
numerator_2 = 3
denominator_1 = 1
denominator_2 = 2
sum = 0
i = 0
while True:
if i >= 20:
break
sum += numerator_1/denominator_1
temp_numerator = numerator_1 + numerator_2
numerator_1 = numerator_2
numerator_2 = temp_numerator
temp_denominator = denominator_1 + denominator_2
denominator_1 = denominator_2
denominator_2 = temp_denominator
i += 1
print("前20项之和为:", sum)