1 条题解

  • 0
    @ 2026-8-18 11:54:00

    思路

    虫子 x 小时吃一个,y 小时吃了几个?如果 y 能被 x 整除就是 y / x 个;吃了一半不算吃完,所以要向上取整:(y + x - 1) / x(等价于 (int)ceil((double)y / x))。

    答案就是 n - 吃掉的个数,并且不能小于 0。

    代码

    #include <stdio.h>
    
    int main() {
        int n, x, y;
        scanf("%d %d %d", &n, &x, &y);
    
        int eaten = (y + x - 1) / x;   // 向上取整
        int left = n - eaten;
    
        if (left < 0) left = 0;
        printf("%d\n", left);
        return 0;
    }
    

    易错点

    • 样例:10 4 9,虫子 9 小时吃了 (9+3)/4 = 3 个(第 3 个刚好吃完),剩 7 个。
    • 如果虫子吃得比苹果多,结果要压到 0,不能输出负数。

    信息

    ID
    11
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    8
    已通过
    3
    上传者