该题属于简单题的类型,但是容易陷入下面的误区:
容易想到可以用每两分钟作为一个单位进行计算,但是认真重新思考,发现其实不然,因为可能你的体力只剩下400,此时体力>=300,按照上面的思路即分钟++,但是其实此时体力已经不足以支撑需要先消耗的600了,因此该思路是错误的
正确思路应该是在体力>600时去模拟跑步的过程,而体力<=600时则直接时间加上对应的秒数即可(依题意易知小明每秒消耗体力10)
代码如下:
#include<iostream> using namespace std; int main(){ int sum=10000,t=0; while(sum!=0){ if(sum>600){ t+=60; sum-=600; t+=60; sum+=300; }else{ t+=(sum/10);//每秒消耗10体力 break; } } cout<<t<<endl; return 0; }