题目
有一个分数序列:
1/2, 2/3, 3/5, 5/8, 8/13, 13/21 ......
求这个序列的前20项之和。
观察分数数列可知,分子与分母均为部分斐波那契数列。
满足通项公式:a(n)=a(n-1)+a(n-2)
代码:
#include <stdio.h>
int main()
{
double a=1.0 ,b=2.0, c=3.0; /*a为a(n-2), b为a(n-1), c为a(n) 这里是给予初值,但意义不变*/
double sum=0;
for(int i=1;i<=20;i++)
{
sum+=(a/b);
a=b; /*斐波那契数列:1,2,3,5,8,13,21,34....*/
b=c; /*打个比方:a,b,c为1,2,3,循环一次后要把它变成2,3,5,下一次是3,5,8*/
c=a+b;
}
printf("%f",sum);
return 0;
}