北邮C++——打点滴

博客围绕医院点滴输液时间计算问题展开,点滴规律为滴i滴停一下,每滴1毫升、1秒,停顿也1秒。给出一瓶V毫升(V<5000正整数)药液输完时间的计算思路,即滴药液用时V秒与停顿时长i - 1秒之和。

题目描述:

在医院打点滴时,假设点滴的规律是,滴一滴,停一下,再滴两滴,停一下,再滴三滴,停一下。每一滴1毫升,用1秒,停一下的时间也是1秒。请问一瓶V毫升的药液,多久输完?其中V是小于5000的正整数。

#include <iostream>
using namespace std;
int main()
{
    int V, t;
    cin >> V;
    for(int i = 1, sum = 0; sum < V; i++)
    {
        sum += i;
        if(sum >= V)
        t = V + i - 1;
    }
    cout << t << endl;
    return 0;
}

提示:

第i次滴的时候,滴i滴,停一下。此时已经滴下了sum滴,停了i秒。然后进入下一次循环,若sum>=V说明这次能滴完,滴完也不用再停一下了。所以最后用时t是滴药液用时V秒和停一下用时i-1秒的和。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值