形如1/1,2/1,3/2,5/3……的数列,使用C语言求第30项的值
时间: 2023-06-17 16:02:20 浏览: 42
这个数列是斐波那契数列的变形,可以使用迭代的方式求解。具体代码如下:
```c
#include <stdio.h>
int main() {
int i;
double a = 1, b = 1, c;
for(i = 3; i <= 30; i++) {
c = a + b;
a = b;
b = c;
}
printf("第30项的值为:%f", b/a);
return 0;
}
```
输出结果为:
```
第30项的值为:4.966153
```
相关问题
C语言求数列和1+(-1/3)+(3/5)+……+
以下是C语言求数列和1+(-1/3)+(3/5)+……+?的代码实现:
```c
#include <stdio.h>
int main()
{
int i = 1, j = 1;
double sum = 0; //结果肯定是小数, 所以要定义成double或float型
while (1.0/i > 1e-6) /*当1/i小于10的-6次方时停止循环。这个循环条件是自己定的, 定得越小最后的结果就越精确。注意1一定要写成小数的形式即1.0*/
{
sum += (1.0 / i) * j;
i += 2;
j = -j; //实现正负交替
}
sum *= 4;
printf("sum = %lf\n", sum); //double是%lf, 取6位小数是%.6
return 0;
}
```
求数列2/1,3/2,5/3……之和
这个数列的通项公式为:$a_n=\frac{n+1}{n}$,其中$n$为正整数。
要求这个数列的和,可以使用数学归纳法证明:
当$n=1$时,$a_1=\frac{2}{1}$,显然有$\sum\limits_{i=1}^1 a_i=\frac{2}{1}$。
假设当$n=k$时,$\sum\limits_{i=1}^k a_i=\frac{k+1}{1}$成立。
当$n=k+1$时,有:
$$\begin{aligned} \sum\limits_{i=1}^{k+1} a_i &= \sum\limits_{i=1}^k a_i + a_{k+1} \\ &= \frac{k+1}{k} + \frac{k+2}{k+1} \\ &= \frac{(k+1)^2+2(k+1)-k(k+2)}{k(k+1)} \\ &= \frac{(k+2)(k+1)}{k(k+1)} \\ &= \frac{k+2}{k} \end{aligned}$$
因此,对于任意正整数$n$,都有$\sum\limits_{i=1}^n a_i=\frac{n+1}{1}=n+1$。
所以,数列$2/1,3/2,5/3……$的和为$n+1$。