题目描述
小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的98%。现在小玉想知道,如果要游到距离x米的地方,她需要游多少步呢。请你编程解决这个问题。
输入格式
输入一个数字(不一定是整数,小于100m),表示要游的目标距离。
输出格式
输出一个整数,表示小玉一共需要游多少步。
输入输出样例
输入 #1 4.3
输出 #1 3
#include<bits/stdc++.h>
using namespace std;
long double x,sum = 2,num = 0; //注意用浮点数
int ans = 0; //计数器
int main(){
cin >> x;
while(num < x){
num += sum; //这里最好分开写,尽量不要写成num += sum / 100 * 98
sum = sum / 100 * 98;
ans++; //ans加一
}
cout << ans;输出
return 0;
}
更多大佬的题解在https://www.luogu.com.cn/problem/solution/P1423
这么简单的题还有神犇用二分法,本蒟蒻表示不会。。。