天天看點

Openjudge-計算概論(A)-求分數序列和

描述:

有一個分數序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求這個分數序列的前n項之和。輸入輸入有一行:正整數n。輸出輸出有一行:分數序列的和(浮點數,精确到小數點後4位)。

可以printf("%.4lf\n", a)輸出浮點數并精确到小數點後4位。

樣例輸入

99      

樣例輸出

160.4849      

提示最好在程式中使用雙精度浮點數(double)記錄求得的和。來源計算概論05

思路:首先要找到這段序列的規律:分子=前一個數的分子+分母

                                          分母=前一個數的分子

找到了規律,就好辦了,既然題目中的提示是要我們用double類型的,那隻好遵照。

代碼如下:

1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,i;
 5     double s=0.0,t1=1,t2=2,temp;
 6     scanf("%d",&n);
 7     for(i=0;i<n;i++)//利用找到的規律解決問題,别提有多開心了O(∩_∩)O 
 8     {
 9         s=s+t2/t1;
10         temp=t2;
11         t2=t1+t2;
12         t1=temp;
13     }
14     printf("%.4lf\n",s);//記得是精确到小數點後4位哦 
15     return 0;
16 }      

轉載于:https://www.cnblogs.com/geek-007/p/4295426.html