- 题解
苹果和虫子2622题解(多分支+int向上取整规则)
- @ 2026-7-19 15:33:16
注意:这道题比较狡诈,我被坑过一次 有 n 个苹果,箱子里有一条虫子。
虫子每 x 小时才能吃掉 1 个苹果(它吃得很慢,而且一次只吃一个,没吃完不会碰下一个)。
现在过了 y 小时,问还剩几个 完整 的苹果?
第一步:虫子吃了几个苹果?
虫子吃一个苹果要花 x 小时,所以:
如果时间不到 x 小时,一个都没吃完。
如果时间刚好等于 x 小时,刚好吃掉一个。
如果时间超过 x 但不到 2x 小时,还是只吃掉了一个(因为第二个还没开始吃)。
其实很简单:把 y 除以 x,如果有余数就多算一个(因为剩下那点时间虫子已经开始吃下一个了,那个苹果就不完整了)。
例如:
x=4 小时吃一个,过了 y=9 小时。
9 ÷ 4 = 2 余 1 → 有 2 个完整的被吃完,还多出 1 小时,虫子已经开始吃第 3 个了,所以第 3 个也不完整。
总共被糟蹋的苹果数 = 2 + 1 = 3 个。
这个算法叫“向上取整”:
被吃掉的苹果数 = (y + x - 1) ÷ x(只取整数部分)。
第二步:剩下的完整苹果
原来有 n 个,被吃掉了几个,剩下的就是:
剩下的 = n - 被吃掉的
但是注意:如果虫子吃得太多(比如 n=3,被吃掉5个),剩下的不能是负数,那就变成 0 个。
举例
给的例子:n=10,x=4,y=9
被吃掉 = (9+4-1)÷4 = 12÷4 = 3
剩下 = 10 - 3 = 7 ✅
总结成一句话
先算出虫子已经咬过或吃完了几个苹果(用除法有余数就加一),再用原来的苹果数减去它,如果结果小于0就当0。 懂了吗,记得点赞哦 下次颁布题解时间将在2026.7.21,同时将晒出本期代码,不能复制!
1 条评论
-
liangzhuoran LV 10 @ 2026-7-19 15:42:04点个赞吧
- 1