标签:
描述:
有一个分数序列 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 }
标签:
原文地址:http://www.cnblogs.com/geek-007/p/4295426.html