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; }