TB椰程 TypeBuddy 打字搭子

小玉在游泳

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

每步距离是上一步的 98%,求游到 s 米所需步数

  • 洛谷
  • 练习

正文

// 原题:https://oj.yecheng.tv/p/1384
// 题意:第 1 步 2 米,之后每步是上一步的 98%,求累计游过 s 米所需步数。
// 思路:逐步累加步长距离,直到累计 >= s。
// 复杂度:O(步数),步数不会太大。
// 易错点:每步是上一节的 0.98 倍,不是固定值;用浮点累加。
#include <iostream>
using namespace std;
int main(){
    double s, step = 2, sum = 0;
    int n = 0;
    cin >> s;
    while(sum < s){ sum += step; step *= 0.98; n++; }
    cout << n << endl;
    return 0;
}

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

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