C/C++描述 第十一届蓝桥杯省赛C/C++大学B组 第一场(2020.7.5) 试题 C: 跑步训练 题目+题解

第十一届蓝桥杯省赛C/C++大学B组 第一场

  大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客

本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!!

博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客


在这里插入图片描述

试题 C: 跑步训练

本题总分:10 分

【问题描述】

小明要做一个跑步训练。

初始时,小明充满体力,体力值计为 10000。如果小明跑步,每分钟损耗

600 的体力。如果小明休息,每分钟增加 300 的体力。体力的损耗和增加都是

均匀变化的。

小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循

环。如果某个时刻小明的体力到达 0,他就停止锻炼。

请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案。

答案中只填写数,不填写单位。

【答案提交】

这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个

整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

试题 C 题解

这里可以口算:答案为:3880

10000 / (600-300) == 33.33
33*(600-300) = 9900
10000 - 9900 + 300 = 400 < 600
所以时间为32*2*60 + 400/10 = 3880

也可以写程序模拟:

energy = 10000
min = 0
second = 0
while(energy):
    min += 1
    if min % 2 == 1:
        if energy > 600 :
            energy -= 600
        else:
            min -= 1
            second = energy/10
            energy = 0
    else:
        energy += 300
    if energy <= 0:
        break
print(min*60+second)

答案:3880

猜你喜欢

转载自blog.csdn.net/qq_43422111/article/details/107157891
今日推荐