编写一个程序,求分数序列1,2\1,3\2,5\3,8\5,……前20项之和

来源:百度知道 编辑:UC知道 时间:2024/05/21 09:37:44
怎么写这道题?

分子和分母都是Fibonacci数列,即第三个数(包括第三个)以后的每一个数等于它前面的两个数之和,如1,1,2,3,5,8,…,易知分子是从Fibonacci数列的第二项开始,分母是从第一项开始,

float fun(int n) /*计算Fibonacci数列中的第n项的值*/
{
if(n >= 3)
return(fun(n - 1) + fun(n - 2));
if(n == 1 || n == 2)
return 1;
}

void main()
{
float sum = 0;
int i = 0, j = 0;
for(i = 1; i <= 20; i++)
{
sum += fun(i + 1) / fun(i);
}
}

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main()
{ int a,c;
float b,x,y;
x=2;
y=1;
b=0;
for(a=1;a<=20;a++)
{ b=b+x/y;
c=x;
x=x+y;
y=c;
}
printf("%f\n",b+1);
system("pause");
}

#include<stdio.h>
#include<stdlib