#include <bits/stdc++.h> using namespace std; int main() { double s; // 目标距离 int t = 0; // 换气次数,初始化为0 cin >> s; double ys = 0; // 已游距离 double ks = 2; // 初始每次换气能游的距离 while (ys < s) { // 在每次循环开始时增加换气次数 t++; // 先换气一次,游出一段距离 ys += ks; // 如果已游距离已经达到了或超过了目标距离,就退出循环 if (ys >= s) break; // 更新下一次能换气游出的距离 ks *= 0.98; } cout << t << endl; return 0; } /************************************************************** Problem: 1460 User: zengdongxin Language: C++ Result: Accepted Time:24 ms Memory:2072 kb ****************************************************************/