斐波那契数列和

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

 1     int k,n;
 2     float num =0;
 3     //分子、分母
 4     double i = 1,j = 1;
 5     double temp;
 6     printf("请输入所要求的项数:");
 7     scanf("%d",&n);
 8     for(k = 1;k<= n;k++)
 9     {
10         //这里思考有卡壳
11         num += i / j;
12         temp = i;
13         i =i + j;
14         j =temp;
15     }
16     //保留三位小数
17     printf("%.3lf",num);
18     system("pause");
19     return 0;
原文地址:https://www.cnblogs.com/baikequanshu/p/3383359.html