第一周

题目描述

小明有一个怪兽训练计划。

初始时,怪兽充满能量,能量值为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;
}

 

posted @ 2023-04-07 23:13  冉思银  阅读(118)  评论(0)    收藏  举报