Codeup

原文链接: http://www.cnblogs.com/Miracle-Maker/p/9827671.html

问题 I: 习题5-10 分数序列求和

时间限制: 1 Sec  内存限制: 12 MB
提交: 611  解决: 537
[提交][状态][讨论版][命题人:外部导入]

题目描述

有如下分数序列

求出次数列的前20项之和。

请将结果的数据类型定义为double类型。

输入

输出

小数点后保留6位小数,末尾输出换行。

样例输入

样例输出

32.660261

 1 #include 
 2 double f();
 3 int main(){
 4     printf("%.6f",f());
 5     return 0;
 6 }
 7 double f(){
 8     int a[24];
 9     a[0] = 1;
10     a[1] = 1;
11     int n = 24;
12     for (int i = 2; i < n ; i++){
13         a[i] = a[i-1] + a[i-2];
14     }
15     double result = 0.0;
16     for (int i = 0; i < 20; i++){
17         result += a[i+2] * 1.0 / a[i+1];
18     }
19     return result;
20 }

比斐波那契数列更优化的代码

转载于:https://www.cnblogs.com/Miracle-Maker/p/9827671.html

你可能感兴趣的:(Codeup)