【例37.2】 求分数序列和
斐波那契式分数序列求前 n 项和
正文
// 原题:https://oj.yecheng.tv/p/P222
// 题意:分数序列 2/1, 3/2, 5/3, 8/5, ...,
// 下一项分子 = 分子 + 分母,分母 = 原分子,
// 求前 n 项和,保留四位小数。
// 思路:两个变量滚动更新,
// 借助临时变量保存原分子。
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n;
double sum = 0;
long long q = 2, p = 1;
for (int i = 0; i < n; i++) {
// 先累加当前项
sum += (double)q / p;
// 下一项:分子变分母,分子加分母
long long next = q + p;
p = q;
q = next;
}
cout << fixed << setprecision(4) << sum << endl;
return 0;
}
C++语法 · 循环结构的其它内容
- 【例24.1】 重要的话说 n 遍
- 【例24.2】 26个兄弟姐妹1
- 【例24.3】 奇数求和
- 练24.1 老狼老狼
- 练24.2 for循环求和
- 练24.3 循环输出
- 【例25.1】 不说脏话
- 【例25.2】 26个兄弟姐妹2
- 【例25.3】 输出奇偶数之和
- 练25.1 打老虎
- 练25.2 订餐时间
- 练25.3 偶数求和
- 【例26.1】 人类的本质
- 【例26.2】 循环判断输出
- 【例26.3】 多数求和
- 练26.1 输出偶数
- 练26.2 分苹果
- 练26.3 求平均年龄
- 【例27.1】 求整数的和与均值(限c++)
- 【例27.2】 最小n值
- 【例27.3】 第几项
- 练27.1 叮叮当当
- 练27.2 布纳特难题
- 练27.3 称心如意(限c++)
- 【例28.1】 统计奖牌
- 【例28.2】 求出e的值
- 【例28.3】 数列分段
- 练28.1 多边形内角和
- 练28.2 满足条件的数累加
- 练28.3 短信计费(限c++)
- 练28.4 上课点名(限c++)
- 【例29.1】 求阶乘
- 【例29.2】 幂的末尾
- 【例29.3】 求小数的某一位
- 练29.1 人口增长问题
- 练29.2 末两位数
- 练29.3 银行利息
- 【例30.1】 平方根
- 【例30.2】回家作业
- 【例30.3】 按要求计算输出
- 练30.1 鸡尾酒疗法
- 练30.2 错误减法
- 练30.3 奇偶分家
- 【例31.1】 石头剪子布
- 【例31.2】 证书等级
- 【例31.3】正常血压
- 练31.1 年龄与疾病
- 练31.2 数值统计
- 练31.3 画图
- 【例32.1】 学游泳
- 【例32.2】 凑数
- 【例32.3】 数位积
- 练32.1 立方和不等式
- 练32.2 种植竹笋
- 练32.3 买房子
- 【例33.1】 卡(qia)常数
- 【例33.2】 两位数
- 【例33.3】 凑数
- 练33.1 3721数
- 练33.2 素数判断