2891 - 【基础题】第6章:循环控制结构迭代 分数求和

分数求和    2/1+3/2+5/3+8/5+……   

输入一个数字n,n表示加数的个数。

例如输入1,即输出 2.00

输入2,即表示2/1+3/2  ,输出3.50

保留小数点后两位

题目输入

n

题目输出

n个加数的和,保留2位小数

输入/输出样例

题目输入

5

题目输出

8.39

C语言解答

#include<stdio.h>
main()
{
	float a=1,b=1,c,x,sum=0,i;
	int n;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		c=a+b;
		x=c/b;
		sum+=x;
		a=b;
		b=c;
	}
	printf("%0.2f",sum);
	return 0;
}

C++解答

#include <iostream> 
#include <cstdio>
using namespace std;
int main()
{
	int n,p,q,t;
	double ans;
	p=1;
	q=2;
	ans=(double)q/p;
	cin>>n;
	for(int i=2;i<=n;i++)
	{
		t=p+q;
		p=q;
		q=t;
		ans=ans+(double)q/p;
	}
	printf("%.2lf\n",ans);
	return 0;
}
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题