您的位置:首页 > 其它

斐波那契数列和

2013-10-22 23:28 120 查看
求1/1+2/1+3/2+5/3+8/5+13/8...一直到n的值,首先看到这个题基本上都能反应出要找规律,而一般找规律的都可以尝试用递推法先求出f(n),然后循环或者递归求和,但是这道题每一项的分子和分母都被拆分运算,因此无法运用递推法。然后找规律吧,第一次呢,我是推出第三项的分子等于前两项的分子之和,分母等于前两项的分母之和,但是写出程序之后发现程序十分不简洁,后来上网发现,后一项的分子等于前一项的分母、分子之和,后一项的分母等于前一项的分子这样的规律也是成立的,而且程序看上去更舒服,代码如下:

int k,n;
float num =0;
//分子、分母
double i = 1,j = 1;
double temp;
printf("请输入所要求的项数:");
scanf("%d",&n);
for(k = 1;k<= n;k++)
{
//这里思考有卡壳
num += i / j;
temp = i;
i =i + j;
j =temp;
}
//保留三位小数
printf("%.3lf",num);
system("pause");
return 0;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: