题目描述
XP一不留神感冒了,于是跑到校医院打点滴。打点滴真是无聊啊,他看到盐水一滴一滴地滴下来,突然想到一个问题:如果盐水有规律地滴下,先滴一滴,停一下;然后滴二滴,停一下;再滴三滴,停一下…,假设这瓶盐水一共有n毫升,每一滴是y毫升,每一滴需要的时间是一秒(假设最后一滴不到y毫升,需花费的时间也算一秒),停一下的时间也是一秒。请问XP多久能挂完这瓶盐水呢?
输入
单组输入数据
n y (0<n,y<=1000)
输出
输出一行结果
样例输入 Copy
10 1
样例输出 Copy
13
#include<stdio.h>
void solve(int n,int y){
int i,t1,s=0,sum=0;
double t;
for(i=1;;i++){
if(n-sum>i*y){
sum+=i*y;
s+=i;
}else{
t=(n-sum)*1.0/y;
t1=(int)t;
if(t==t1){
s+=t1;
}else{
s=s+t1+1;
}
sum=n;
}
if(sum>=n){
break;
}
s++;
}
printf("%d\n",s);
}
int main()
{
int num,yy;
scanf("%d %d",&num,&yy);
solve(num,yy);
return 0;
}