openjudge 1.5.32 求分数的序列和

OpenJudge - 32:求分数序列和


解题思路:

1.通过观察,第一个分数的分子为2,分母为1,第二个分数分子为前一个分数的分子分母之和,分母为前一个分数的分子,求前n项的和

2.设置累加器sum为0,为double类型,因为结果是小数

3.创建n次的循环,设置变量a为分子,初始化为2,b为分母,初始化为1

4.循环体为sum=sum+a*1.0/b(注意,两个整数相除要乘1.0变为小数),在这里可以设置一个num存a和b的和,num=a+b,b=a(将前一个分数的分子赋值给第二个分数的分母),a=num(将前一个分数分子分母的和赋值给第二个分数的分子)

5.输出累加器sum即可


#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,a=2,b=1;//初始化变量 
	double sum=0;
	cin>>n;
	
	for(int i=1;i<=n;i++)
	{
		sum=sum+a*1.0/b;//分数累加 
		int num=a+b;//下一个分数的分子 
		b=a;//下一个数的分母 
		a=num;
	}
	
	printf("%.4lf",sum);//保留4位小数输出 
	return 0;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值