0
已解决
赵奕帆
初级守护
初级守护
题目描述 Description
有一块石头厚度为 n(1000~10000) 毫米,每个小时都会有一滴水低落在这个石头上。第一滴水会将石头的厚度减少 0.001 毫米,第二滴水会将石头的厚度减少0.002 毫米,以此类推。请计算最早在第几天水滴可以将石头击穿。(如果在第24个小时将石头击穿,则为第1天;如果是第25个小时,则为第2天。)
输入描述 Input Description
输入一个整数n(1000~10000),表示石头的厚度。
输出描述 Output Description
输出需要将石头击穿的最少天数。
样例输入 Sample Input
样例输入1:
1
------------------------------------------------
样例输入2:
10
样例输出 Sample Output
样例输出1:
1
------------------------------------------------
样例输出2:
6
要求:核心代码+思路!!!
1
已采纳
王雪阳
高级守护
高级守护
核心代码:
while(n>0)
{
a++;
n-=b;
b+=0.001;
}
if(a%24==0) cout<<a/24;
else cout<<a/24+1;
a表示小时数,b表示每小时石头会减少的厚度,n表示石头的厚度。
思路:
每次石头都会减少相应的厚度,而每次减少的厚度都会加上0.001,石头需要减去厚度,这就是while循环里面的作用。
后面的判断是先看小时数是不是整天数,否则天数就要加一。
求采纳!!!
求采纳!!!
求采纳!!!
0