2725: 【例32.1】 学游泳

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:53 解决:30

题目描述

小明开心地在游泳,可是他很快难过地发现,自己的力气不够,游泳好累哦。已知小明第一个单位时间里能游 $2$ 米,可是随着越来越累,力气越来越小,小明接下来的每一单位时间都只能游出上一步距离的 $98$% 。现在小明想知道,如果要游到距离 $x$ 米的地方,他需要游多少步呢。请你编程解决这个问题。

输入

输入一个实数 $x$($1≤x≤99.9$),表示要游的目标距离。

输出

输出一个整数,表示小明一共需要游多少个单位时间。

样例输入 复制

5.89

样例输出 复制

4

提示


#include<bits/stdc++.h>
using namespace std;
double x,n=2,cnt;  //x:目标距离(剩余需要游的距离) n:当前这步(单位时间)能游的距离 cnt: 需要游多少步
int main(){
    cin>>x;
    for(int i=1;;i++){
        if(x<=0) break;
        x-=n;
        n*=0.98;
        cnt++;
    }
    cout<<cnt;
    return 0;
}