题目要求:
小明要做一个跑步训练。 初始时,小明充满体力,体力值计为 10000 。如果小明跑步,每分钟损耗 600 的体力。如果小明休息,每分钟增加300 的体力。体力的损耗和增加都是均匀变化的。小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。如果某个时刻小明的体力到达 0 ,他就停止锻炼。
请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案。答案中只填写数,不填写单位。
解题思路:
当体力大于600时,可以将两分钟看做一个周期,当体力小于600时,则每秒钟消耗体力为10,直到为0
代码展示:
C++:
#include<iostream>
using namespace std;
int main()
{
int sum = 10000;
int time = 0;
while (sum) {
if (sum >= 600) {
time += 2*60;
sum -= 300;
}
else {
time = time + sum / (600 / 60);
break;
}
}
cout << time << endl;
return 0;
}
运行结果:
出现问题:
一开始没有break,导致无法得到答案