用 while 语句和 do-while 语句求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…前 20 项的和。
时间: 2023-05-31 18:05:31 浏览: 48
使用 while 语句:
```python
a, b = 2, 1
sum = 0
i = 1
while i <= 20:
sum += a / b
a, b = a + b, a
i += 1
print(sum)
```
使用 do-while 语句:
```python
a, b = 2, 1
sum = 0
i = 1
while True:
sum += a / b
a, b = a + b, a
i += 1
if i > 20:
break
print(sum)
```
两种方法的输出结果都是:32.66026079864164。
相关问题
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)