【题目描述】
竹笋的初始高度为 0 ,它的生长速度会随着天数逐渐递减: 第一天长 16 厘米,第二天长 8 厘米⋯⋯ 第 n 天长 厘米 (竹笋每天生长的高度可能不为整数)。竹笋长到 k 厘米及以上就可以收获然后售卖了,那么农民大叔在第几天结束后,就可以收获这些竹笋了?
如果农民大叔等了一年之后(第 365 天结束后),竹笋仍然不能达到收获高度,就输出 −1−1。
【输入】
输入共一行,为一个整数k (1≤k≤120),表示竹笋可以收获时的最低高度。
【输出】
输出共一行,为一个整数,表示第几天结束后可以收获竹笋。
【输入样例】
10
【输出样例】
1参考程序
- #include<bits/stdc++.h>
- using namespace std;
- int main()
- {
- long long k,d;
- double s=0;
- cin>>k;
- for(int i=1; ;i++)
- {
- s=s+16.0/i;
- if(s>=k)
- {
- d=i;
- break;
- }
- }
- if(d>365)
- cout<<-1;
- else
- cout<<d;
- return 0;
- }