盐水问题

题目描述 XP一不留神感冒了,于是跑到校医院打点滴。打点滴真是无聊啊, 他看到盐水一滴一滴地滴下来,突然想到一个问题:如果盐水有规律地滴下, 先滴一滴,停一下;

题目描述
XP一不留神感冒了,于是跑到校医院打点滴。打点滴真是无聊啊,
他看到盐水一滴一滴地滴下来,突然想到一个问题:如果盐水有规律地滴下,
先滴一滴,停一下;然后滴二滴,停一下;再滴三滴,停一下…,
假设这瓶盐水一共有n毫升,每一滴是y毫升,每一滴需要的时间是一秒
(假设最后一滴不到y毫升,需花费的时间也算一秒),停一下的时间也是一秒。
请问XP多久能挂完这瓶盐水呢?

输入格式
输入数据包含多个测试实例,每个实例占一行,由VUL和D组成,其中 0

输出
对于每组测试数据,请输出挂完盐水需要的时间,每个实例的输出占一行。

样例输入
10 1

样例输出
13

思路:
先计算滴盐水的时间,再计算盐水之间间隔的时间。

#include
#include
int main()
{int v,d,s,i,h;while(scanf("%d%d",&v,&d)!=EOF){s=v/d;h=ceil(s);      //ceil函数表示返回大于或者等于指定表达式的最小整数(滴盐水时间),对应题目条件最后一滴不到y毫升也算一秒。for(i=1;;i++)   { s-=i;         if(s<=0)    break;h++;          //盐水之间的间隔时间}printf("%d",h);}
return 0;
}