有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…编程求出这个数列的前20项之和。 **输出格式要求:'sum is %9.61fln"用c语言
时间: 2024-10-27 12:04:42 浏览: 19
在C语言中,你可以使用循环和递推的方式来计算这个分数序列的前20项之和。该序列实际上是著名的斐波那契数列与自然数的比值,我们先分别计算斐波那契数列的每一项,然后除以相应的自然数。以下是C语言的一个示例程序:
```c
#include <stdio.h>
#include <math.h>
// 斐波那契数列函数
long long fib(int n) {
if (n <= 1)
return n;
else
return fib(n - 1) + fib(n - 2);
}
// 计算分数和
double sum_fractions(int n) {
double total = 0;
for (int i = 0; i < n; i++) {
int denominator = fib(i + 1); // 斐波那契数作为分母
total += (double)(fib(i)) / denominator;
}
return total;
}
int main() {
int n = 20;
double result = sum_fractions(n);
printf("sum is %.6f\n", result);
return 0;
}
```
在这个程序中,`fib()` 函数用于计算斐波那契数,而 `sum_fractions()` 则遍历前20项,将每个分数加到总和中。运行此程序后,它会输出前20项分数序列的和。
阅读全文