P5707 求助 python 点8 10不过

P5707 【深基2.例12】上学迟到

@[apl43](/user/1188681) 你的问题在于**没有考虑到t<0的情况**,如果s/v>470呢?因此当t<0时你的输出就是**负数**,所以不过
by Math_Cai @ 2023-12-02 15:23:33


@[Math_Cai](/user/1135376) 负数 % 24 不是也会变为整数吗
by apl43 @ 2023-12-04 16:50:19


@[apl43](/user/1188681) 哦哦,看错了。应该是少了一个向上取整的步骤,因为根据样例你可以发现,最终所花费的时间是向上取整后的结果。所以应该把 ```python t = int(470 - (s / v)) ``` 改成 ```python t = int(470 - math.ceil(s / v)) ``` (别忘了在开头import math 库)
by Math_Cai @ 2023-12-05 19:50:32


@[Math_Cai](/user/1135376) 过了,谢谢,但是我不太理解向上取整那部分,我用int(10 - 1.5)不就是向上取整了吗,难道说还有一些特殊的数值无法向上取整吗
by apl43 @ 2023-12-06 11:28:52


@[apl43](/user/1188681) 如果x是一个浮点数,int函数会将其向下取整,返回一个小于等于x的最大整数,和题意不符哦
by Math_Cai @ 2023-12-06 20:09:51


@[Math_Cai](/user/1135376) 哦哦,我想明白了,谢了!
by apl43 @ 2023-12-06 20:51:57


|