c语言~~求解一道题目~~

来源:百度知道 编辑:UC知道 时间:2024/06/15 08:31:02
各位大侠~~小弟初学C语言,有道编程题目需要求解~~虽然小菜一碟~~可是对于我而言却找不到解题途径~~以下是题目~~
有一分数列:
2/1,3/2,5/3,8/5,13/8,.....求出这个数列的前20 项和.

我想了很久,找不到他们的规律,不知道该如何写通项.希望大虾们高高指点!谢谢!

int i,p,q,t;
p=1;
q=2;
double sum;
sum=0;
for(i=0;i<20;i++)//执行20次
{
sum+=(double)q/(double)p;

//每次,p的值为前一项q的值,q的值为前一项p和q的和
t=q;
q=p+q;
p=t;
}

printf("sum=%d\n",sum);

1+2=3
2+3=5
3+5=8
…………

#include <stdio.h>

int main()
{
double i, ii, iii, sum;
int j;
for(j = 0, i = 1, ii = 1, sum = 0, iii = 1;
j < 20;
i = ii, j++)
{
ii = iii + i;
sum += ii / i;
iii = i;

printf("%f\n", ii);
}
printf("%f\n", sum);
return 0;
}

斐波那契数列从第三项开始,每一项都等于前两项之和。