题目描述
挂盐水的时候,如果滴起来有规律,先是滴一滴,停一下;然后滴二滴,停一 下;再滴三滴,停一下...,现在有一个问题:这瓶盐水一共有VUL毫升,每一滴是D毫升,每一滴的速度是一秒(假设最后一滴不到D毫升,则花费的时间也 算一秒),停一下的时间也是一秒这瓶水什么时候能挂完呢?
输入:输入数据占一行,由VUL和D组成,其中0< D< VUL< 5000。
输出:请输出挂完盐水需要的时间。
样例输入 Copy
10 1
样例输出 Copy
13
程序代码
#include<stdio.h>
int main()
{
int V,D;//输入盐水的总毫升数和每次滴的毫升数
scanf("%d%d",&V,&D);
int sum=0,count=0;//sum为每滴完一次统计一共滴了多少,count统计时间
for(int i=1;sum<V;i++)
{
sum+=D*i;
count=count+i;
if(sum<V) count++;//当未滴完时,说明会开始新一轮的滴水,则就会停留一秒,即count+1
}
if(sum-V>0) count=count-(sum-V)/D;//当滴完发现滴的总数超过盐水的总毫升数时,就需要减去多滴的时间
printf("%d",count);
return 0;
}