题目
题目分析
一眼望去,感觉这个题目很容易,很简单,大家也都有思路,但是提交后却都卡在50分,70分这几个分数上
大家解题目的直接思路
首先定变量v,s,t(yyy在上学路上所花的时间)
double s=0.0,v=0.0;
int s=0;
(至于这里s和v为什么为double类型等下会解释)
然后,我们可以把题目简单化,只要考虑分钟的事情就够了
因此,在一开始初始化的时候,我可以把t0(当天到达学校的最大时间)设置为(8*60-10)(这个10是倒垃圾的时间)
t0=8*60-10
接下来是我们的t(yyy在上学路上所花的时间)
利用ceil()函数实现
t=ceil(s/v)
ceil()这个函数实现的是向上取整的功能
如果我的s和v是double类型,那么s/v的值也是double类型,因此有便于我取整数,不用考虑是否因为两个int类型相除导致我原本有小数点,需要往前进一却没有
如果可以,你还可以使用int类型的s和v,并配合if分支结构,具体我不给出(小声bb:因为懒)
考虑情况
第一种:yyy当天能到达学校
也就是,yyy在上学路上所花的时间小于或等于当天到达学校的最大时间
if t<=t0
小时打算用这两个的差整除60,分钟就是这两个的差求余