天天看點

C/C++描述 第十一屆藍橋杯省賽 C/C++ 大學B組 第一場(2020.7.5) 試題 A: 跑步訓練 題目+題解

  大家好,我叫亓官劼(qí guān jié )
C/C++描述 第十一屆藍橋杯省賽 C/C++ 大學B組 第一場(2020.7.5) 試題 A: 跑步訓練 題目+題解

試題 A: 跑步訓練

本題總分:5 分

【問題描述】

小明要做一個跑步訓練。

初始時,小明充滿體力,體力值計為 10000。如果小明跑步,每分鐘損耗

600 的體力。如果小明休息,每分鐘增加 300 的體力。體力的損耗和增加都是

均勻變化的。

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

環。如果某個時刻小明的體力到達 0,他就停止鍛煉。

請問小明在多久後停止鍛煉。為了使答案為整數,請以秒為機關輸出答案。

答案中隻填寫數,不填寫機關。

【答案送出】

這是一道結果填空題,你隻需要算出結果後送出即可。本題的結果為一個

整數,在送出答案時隻填寫這個整數,填寫多餘的内容将無法得分。

試題A 題解

這裡可以口算:答案為:​

​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)      

繼續閱讀