果园

发布时间 2023-11-24 19:40:18作者: 卡布叻-空白

题目简述

一共有 \(n\) 个苹果,有一只虫子,这只虫子吃掉一个苹果需要 \(x\) 个小时,且虫子比较专一,当它吃完一个苹果之后,才会吃另外一个。

要把这一箱苹果运回家之后才可以处理掉虫子。然而,他回家的路途需要 \(y\) 小时,他开始思考,在 \(y\) 小时后,箱子里还剩下多少个完整的苹果呢?


分析样例

样例输入:\(10 4 9\)

根据输入,我们有以下信息:

  • 苹果个数:\(n = 10\)
  • 虫子吃完一个苹果所需时间:\(x = 4\)
  • 回家所需时间:\(y = 9\)

现在我们需要计算在回家的9小时后,箱子里剩下多少个完整的苹果。

首先,虫子吃完一个苹果所需时间为4小时,那么在9小时内,虫子最多能吃几个苹果呢?我们可以用9除以4来计算。

\(9 ÷ 4 = 2……1\)

所以,虫子在9小时内最多能吃2个完整的苹果。而剩下的1小时,虫子无法吃完一个完整的苹果,但是可以把一个苹果啃得不完整。

也就是说,只要有余数,就要加上一个苹果。

接下来,我们需要计算箱子里剩下的完整苹果个数。初始时,箱子里有 \(10\) 个苹果。虫子吃掉了 \(2\) 个完整的苹果和一个不完整的苹果,所以剩下的完整苹果个数为 \(10 - 3 = 7\)

最后,输出剩下的完整苹果个数,即输出结果为7。


代码&整体思路

首先,输入的三个整数 \(n\)\(x\)\(y\),分别表示苹果个数、虫子吃完一个苹果所需时间和回家所需时间。

使用除法和取余运算,将 \(y\) 小时转换为吃掉的苹果个数,然后从总数n中减去这个个数,得到剩下的完整苹果个数。如果剩下的个数小于 \(0\),则取 \(0\)


C++代码实现

#include <iostream>

using namespace std;

int main() {
    int n, x, y;
    cin >> n >> x >> y;

    // 计算箱子里剩下的完整苹果个数
    cout << max(0, n - (y / x + (y % x != 0))) << endl;

    return 0;
}

完结撒花~

最后,吐槽一下出题人,这么简单的题目怎么好意思出成基础赛的?!