题目描述
小明有一个怪兽训练计划。
初始时,怪兽充满能量,能量值为8800。如果训练怪兽,每分钟损耗能量值400;如果让怪兽休息,每分钟增加能量值200。能量的损耗和增加都是均匀变化的。
小明打算让怪兽训练一分钟、休息一分钟、再训练一分钟、再休息一分钟……如此循环,如果某个时刻怪兽的体力到达0,小明就停止训练怪兽。
请问小明在多久以后停止训练怪兽。请以秒为单位输出答案。答案钟只填写数,不填写单位。
输入格式
无
输出格式
输出为一个整数。
输入输出样例
无
解题思路:
在上述代码中,我们使用变量 i
记录了循环进行的次数,即到达的分钟数。当 i
为奇数时,怪物在训练;当 i
为偶数时,怪物在休息。每分钟训练将消耗 400 点能量,每分钟休息将增加 200 点能量。如果怪物的能量在某个时刻降至 0 或者以下,我们就停止训练。循环结束后,我们计算出了怪物训练和休息的总时间,并将其转换为秒数输出。
具体代码:
#include <stdio.h>
int main() {
int energy = 8800; // 怪物初始能量
int training_time = 0; // 怪物训练时间
int rest_time = 0; // 怪物休息时间
int i;
for (i = 1; ; i++) { // 一直进行怪物训练和休息,直到能量值为 0
if (energy <= 0) break; // 如果怪物能量为 0,则停止训练
if (i % 2 == 1) { // 第奇数分钟(训练时间)
energy -= 400; // 每分钟消耗 400 点能量
training_time++; // 增加训练时间
} else { // 第偶数分钟(休息时间)
energy += 200; // 每分钟获得 200 点能量
rest_time++; // 增加休息时间
}
}
printf("%d\n", (training_time + rest_time) * 60); // 将总时间转换为秒并输出
return 0;
}
标签:怪兽,训练,第一周,int,怪物,能量,小明 From: https://www.cnblogs.com/rsy123/p/rsy123.html