跑步训练(蓝桥杯2020试题A)
【问题描述】
小明要进行一个跑步训练。初始时,小明体力充沛,体力值计为10000。小明跑步时每分钟损耗600体力值。小明休息时每分钟增加300体力值。体力值的损耗和增加都是均匀变化的。
小明打算跑一分钟,休息一分钟,再跑一分钟,再休息一分钟,如此循环。如果某个时刻小明的体力值变为0,他就停止训练。
请问小明在多久后会停止训练。为了使答案为整数,请以秒为单位输出答案。答案中只填写数字,不填写答案。
【参考答案】
3880
【解析】
本题可以采用模拟法,不过需要注意两点:一是题目要求以秒为单位;二是体力值必须变为0.所以本题的计算可以分为以下两部分。
(1)体力值大于600时,可以持续1分钟的体力消耗,则模拟损耗600体力值,再增加300体力值,一共经过120秒,循环得到时间。
(2)当体力值小于600且不为0时,每秒消耗10体力值,由剩余时间为体力值/10,直到体力值为0。
【参考程序】
#include <stdio.h>
int main(int argc, char** argv)
{
int sum = 10000;
int ans = 0;
while(sum > 0)
{
if(sum >= 600)
{
sum -= 600;
sum += 300;
ans += 120;
}
else
{
ans += sum / 10;
sum = 0;
}
}
printf("%d\n",ans);
return 0;
}
【程序运行如下】
原文地址:https://blog.csdn.net/2401_84379088/article/details/144493624
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/440945.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/440945.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!