编写函数float fun(int n),求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。
时间: 2023-12-13 20:57:22 浏览: 45
好的,对于您的第一个问题,以下是代码实现:
```python
def fun(n):
numerator = 2
denominator = 1
total = 2
for i in range(2, n+1):
# 计算下一项
next_numerator = numerator + denominator
next_denominator = numerator
# 累加分数
total += next_numerator / next_denominator
# 更新分子、分母,准备计算下一项
numerator = next_numerator
denominator = next_denominator
return total
```
例如,如果您想求前10项之和,则调用 `fun(10)`,结果为:76.01315561749642
相关问题
c语言编写子函数fun求一分数序列 2/1, 3/2, 5/3, 8/5, 13/8, 21/13…的前n 项之和
以下是C语言编写的子函数fun求一分数序列 2/1, 3/2, 5/3, 8/5, 13/8, 21/13…的前n项之和的代码:
```c
#include <stdio.h>
double fun(int n)
{
double sum = 0.0;
double a = 2.0, b = 1.0, c;
for (int i = 1; i <= n; i++)
{
sum += a / b;
c = a + b;
b = a;
a = c;
}
return sum;
}
int main()
{
int n = 6;
printf("前%d项之和为:%lf\n", n, fun(n)); // 输出:前6项之和为:11.592857
return 0;
}
```
c语言编写子函数fun求一分数序列 2/1, 3/2, 5/3, 8/5, 13/8, 21/13…的前n 项之和并列出表达式
以下是C语言编写的子函数fun求一分数序列 2/1, 3/2, 5/3, 8/5, 13/8, 21/13…的前n项之和的代码:
```c
#include <stdio.h>
double fun(int n)
{
double sum = 0.0;
double a = 2.0, b = 1.0, c;
for (int i = 1; i <= n; i++)
{
sum += a / b;
c = a + b;
b = a;
a = c;
}
return sum;
}
int main()
{
int n = 6;
printf("前%d项之和为:%lf\n", n, fun(n));
return 0;
}
```
表达式为:2/1, 3/2, 5/3, 8/5, 13/8, 21/13…
相关问题:
--相关问题--:
1. 如何在C语言中输出分数?
2. 如何在C语言中实现斐波那契数列?
3