信息学奥赛c++语言:求分数序列和
有一个分数序列q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,.... ,其中q(i+1)=qi+pi,p(i+1)=qi,p1=1,q1=2。比如这个序列前6项分别是2/1,3/2,5/3,8/5,13/8,21/13,求这个分数序列的前n项之和。输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后4位。输入有一行,包含一个正整数n(n ≤ 30)。
·
题目描述
有一个分数序列q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,.... ,其中q(i+1)=qi+pi,p(i+1)=qi,p1=1,q1=2。比如这个序列前6项分别是2/1,3/2,5/3,8/5,13/8,21/13,求这个分数序列的前n项之和。
输入
输入有一行,包含一个正整数n(n ≤ 30)。
输出
输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后4位。
样例输入
2
样例输出
3.5000
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
double p=1,q=2,s=0,t,n;
cin>>n;
for(int i=1;i<=n;i++)
{
s+=q/p; // 将当前项 q / p 的值累加到总和 s 中。
// 以下三行代码用于更新分子和分母的值,以生成下一项分数
t=q;
q+=p;
p=t;
}
printf("%.4lf",s); // 使用 printf 函数按照指定格式输出总和 s 的值,保留四位小数。
return 0;
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)