【问题描述】
编写函数double FUN(double n)计算以下分数序列的前n项之和,其中参数n由主函数输入,FUN函数的返回值在主函数中输出。
2/1 , 3/2 , 5/3 , 8/5 , 13/8 , 21/13 , …
【输入形式】 正整数n
【输出形式】 分数序列的和(浮点数,精确到小数点后4位)
【样例输入】 99
【样例输出】 160.4849
#include <iostream>
#include <iomanip>
using namespace std;
double FUN(double n);
int main()
{
int n;
cin >> n;
cout << fixed << setprecision(4) << FUN(n) << endl;
return 0;
}
double FUN(double n)
{
double sum = 0, a = 1.0, b = 2.0, temp;
for( int i=1; i<=n; ++i )
{
sum += b/a;
temp = a;
a = b;
b += temp;
}
return sum;
}