| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1359 人关注过本帖
标题:怎样去理解这道题的思路
只看楼主 加入收藏
白茶清欢
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2018-12-2
结帖率:57.14%
收藏
已结贴  问题点数:8 回复次数:2 
怎样去理解这道题的思路
挂盐水的时候,如果滴起来有规律,先是滴一滴,停一下;然后滴二滴,停一 下;再滴三滴,停一下...,现在有一个问题:这瓶盐水一共有VUL毫升,每一滴是D毫升,每一滴的速度是一秒(假设最后一滴不到D毫升,则花费的时间也 算一秒),停一下的时间也是一秒这瓶水什么时候能挂完呢?
输入:
输入数据占一行,由VUL和D组成,其中0< D< VUL< 5000。
输出:
请输出挂完盐水需要的时间。
样例输入:
10 1
样例输出:
13
搜索更多相关主题的帖子: 思路 速度 时间 输入 输出 
2019-01-28 21:30
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:8 
因一滴就是一秒,所以VUL就至少需要VUL/D+(VUL%D?1:0)秒, VUL/D就是求VUL中有多少滴(每滴含有D毫升),若有剩余就算一秒 (VUL%D?1:0),VUL%D若等于0,就是没有剩余,取0秒,反之有剩余就取1秒,这是三目元算符。
加上暂停的次数total=i+VUL/D+(VUL%D?1:0),就是总共需要的时间:
#include <stdio.h>
#define VUL 10
#define D   1
int main()
{
    int total,i=0;
    int sum=0;
    do
    {
        i++;
        sum=sum+D*i;
        
    }while(sum<VUL);
   
    i--;//i为暂停的次数,在这里减一
    total=i+VUL/D+(VUL%D?1:0);
    printf("total=%d\n",total);
    return 0;
}

[此贴子已经被作者于2019-1-28 23:55编辑过]


学C语言从底层开始,学编程从问题开始,一日学会C!!!
2019-01-28 23:36
机器狗
Rank: 2
等 级:论坛游民
威 望:1
帖 子:6
专家分:14
注 册:2019-1-29
收藏
得分:0 
好像与等差数列有关,求停的秒数Sn≤VUL<Sn+1,n-1秒.
2019-01-30 02:27
快速回复:怎样去理解这道题的思路
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023189 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved