TB椰程 TypeBuddy 打字搭子

【例37.2】 求分数序列和

C++语法 · 循环结构 · 代码 · cpp · 难度 3/5 · 共 565 字

斐波那契式分数序列求前 n 项和

  • C++语法
  • 例题

正文

// 原题: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++语法 · 循环结构的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK