描述:
有一個分數序列 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