solution.md 1.4 KB
Newer Older
ToTensor's avatar
ToTensor 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
# 跑步训练

小明要做一个跑步训练。  

初始时,小明充满体力,体力值计为 10000 。如果小明跑步,每分钟损耗 600的体力。如果小明休息,每分钟增加 300 的体力。体力的损耗和增加都是均匀变化的。    

小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。如果某个时刻小明的体力到达 0 ,他就停止锻炼。  

请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案


```c
#include <iostream>

using namespace std;

const int SumN = 10000;
const int miniPullN = 600;
const int minipushN = 300;

int main()
{
    int tmpSumN = SumN;
    int res = 0;
    int resSecond = 0;
    while (tmpSumN >= 0)
    {
        res++;
        if (res % 2 == 1)
        {
            if (tmpSumN >= miniPullN)
            {
                tmpSumN -= miniPullN;
            }
            else
            {
                _______________;
            }
        }
        else
        {
            tmpSumN += minipushN;
        }
    }

    cout << res * 60 + resSecond;
    return 0;
}
```

## 答案

```c
res--;
resSecond = (tmpSumN / 10);
tmpSumN = -1;
```

## 选项

### A

```c
res--;
resSecond = (tmpSumN / 10);
tmpSumN -= 1;
```

### B

```c
res--;
resSecond = (tmpSumN / 10);
tmpSumN = 1;
```

### C

```c
res--;
resSecond = (tmpSumN / 10);
tmpSumN += 1;
```