发布时间: 2023年9月7日 22:30 时间限制: 1000ms 内存限制: 128M
描述:
zy今天生病了,到医院打吊针,闲着无聊开始观察起盐水滴落的情况,发现规律,每次盐水滴落数量是一个等差数列,先滴一滴,下一次就滴两滴,接着三滴...但每次滴落后会有一次停顿(1s)于是想到了一个问题假设一瓶盐水一共有V毫升,每一滴是D毫升,每一滴的速度是一秒(假设最后一滴不到D毫升,则花费的时间也算一秒),那么盐水需要多少时间(S)全部滴完?
输入:输入数据包含多个测试实例,每个实例占一行,由V和D组成,其中 0<D<V<5000。
输出:对于每组测试数据,输出一行,这行上一个整数表示需要的时间。
答案:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double V, D, t;
while (cin >> V >> D)
{
for (int i = 1, sum = 0; sum < V; i++)
{
sum += i * D;
if (sum >= V)
t = ceil(V / D) + i - 1;
}
cout << t << endl;
}
return 0;
}