题解:先求滴水的时间。注意取值的时候不应为整数型,否则(ceil(d/v))起不了作用。
再求停歇的时间,num+=d与sum+=num完成盐水每次滴加的增量和总和的增量。
难点;本题的 for 循环没有上限,所以可以写成 ’;‘ 。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
double v,d,num,sum;int t,i;
while(~scanf("%lf%lf",&v,&d))
{
t=ceil(v/d);
num=0;sum=0;
for(i=1;;i++)
{
num=num+d;
sum=sum+num;
if(sum>=v) break;
t++;
}
printf("%d\n",t);
}
return 0;
}