1422 - C语言-分数数列

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。

题目输入

N

题目输出

数列前N项和

输入/输出样例

输入格式

10

输出格式

16.48

C语言解答

int main(int argc, char* argv[])
{
	int n,i;
	double sum,f[100];
	while(~scanf("%d",&n))
	{
		f[0]=1;f[1]=2;
	  sum=0;
	for(i=1;i<=n;i++)
	{ 
		if(i>1)
		  f[i]=f[i-2]+f[i-1];
		sum+=f[i]/f[i-1];
	}
     printf("%.2lf\n",sum);
	}
	return 0;
}

C++解答

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
	int n;
	cin>>n;
	double fz=2,fm=1,sum=0;
	for (int i=1; i<=n; i++)
	{
		sum+=fz/fm;
		double t=fz;
		fz+=fm;
		fm=t;
	}
	printf("%.2lf\n",sum);
	return 0;
}