TB椰程 TypeBuddy 打字搭子

级数求和

洛谷·深入浅出 · 代码 · cpp · 难度 3/5 · 共 334 字

求最小的 n 使调和级数前 n 项和 > k

  • 洛谷
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/1379
// 题意:S_n = 1 + 1/2 + ... + 1/n,求最小的 n 使 S_n > k。
// 思路:逐项累加 1.0/i,超过 k 即停。
// 复杂度:O(n)。
// 易错点:用浮点累加;判断用 >k 而非 >=k。
#include <iostream>
using namespace std;
int main(){
    int k, n = 0;
    double s = 0;
    cin >> k;
    while(s <= k){ n++; s += 1.0 / n; }
    cout << n << endl;
    return 0;
}

洛谷·深入浅出的其它内容

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