【问题描述】
有一分数序列
计算该序列的前n项和,n由键盘输入。
【样例输入】
20【样例输出】
32.6603【样例说明】
该数列前20项之和为32.6603
解析:
怎么做?找规律!不可能一个一个计算推演。找到规律,利用循环结构完事!
规律是什么?斐波那契数列!前一个分数的分子与分数之和是后一个分数的分子,而前一个分数的分子是后一个分数的分母。完事!
#include<iostream>
using namespace std;
int main()
{
double a=2,b=1,c,ans=0;
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
ans+=a/b;
c=a+b;
b=a;
a=c;
}
cout<<ans;
}