题目:
* * 小明要做一个跑步训练。
* * 初始时,小明充满体力,体力值计为 10000。如果小明跑步,每分钟损耗600 的体力。
* * 如果小明休息,每分钟增加 300 的体力。体力的损耗和增加都是均匀变化的。
* * 小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。
* * 如果某个时刻小明的体力到达 0,他就停止锻炼。
* * 请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案。
* * 答案中只填写数,不填写单位。
思路:体力的损耗和增加都是均匀变化的。所以我们可以得出每秒消耗10
而且知道了循环结束条件就是体力为0,但是600的减不能把10000减完
所以体力不到600的时候就可以结束了 最后再加上剩下的体力换算的秒数
代码:
public class 跑步训练_思路 {
public static void main(String[] args) {
int t = 10000;
boolean p = true;//t跑 f休息
int minute = 0;//记录分钟数
while (true) {
if (p && t < 600) {
break;
}
// 跑
if (p) {
p = false;
t -= 600;
minute++;
}
// 休息
if (!p) {
p = true;
t +=300;
minute++;
}
}
// 最后体力还不为0 /10就可以得到剩下的秒数
System.out.println(minute*60 + t/10);
}
}