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