apl43 @ 2023-12-01 14:37:52
s, v = map(int, input().split())
t = int(470 - (s / v))
hour = (t // 60) % 24
minute = t % 60
print("%.2d:%.2d"%(hour, minute))
by Math_Cai @ 2023-12-02 15:23:33
@apl43 你的问题在于没有考虑到t<0的情况,如果s/v>470呢?因此当t<0时你的输出就是负数,所以不过
by apl43 @ 2023-12-04 16:50:19
@Math_Cai 负数 % 24 不是也会变为整数吗
by Math_Cai @ 2023-12-05 19:50:32
@apl43 哦哦,看错了。应该是少了一个向上取整的步骤,因为根据样例你可以发现,最终所花费的时间是向上取整后的结果。所以应该把
t = int(470 - (s / v))
改成
t = int(470 - math.ceil(s / v))
(别忘了在开头import math 库)
by apl43 @ 2023-12-06 11:28:52
@Math_Cai 过了,谢谢,但是我不太理解向上取整那部分,我用int(10 - 1.5)不就是向上取整了吗,难道说还有一些特殊的数值无法向上取整吗
by Math_Cai @ 2023-12-06 20:09:51
@apl43 如果x是一个浮点数,int函数会将其向下取整,返回一个小于等于x的最大整数,和题意不符哦
by apl43 @ 2023-12-06 20:51:57
@Math_Cai 哦哦,我想明白了,谢了!