题目详细解释 问题背景分析:小B在连续不断地吃苹果,没有任何休息时间吃完一个苹果后立即开始吃下一个苹果我们需要计算在给定的时间内,还剩下多少个完全没有被吃过的苹果关键概念理解:完整的苹果:完全没有被咬过、完好无损的苹果不完整的苹果:包括已经吃完的苹果和正在吃但还没吃完的苹果时间连续性:时间计算是从开始吃第一个苹果起连续计算的核心难点:如何处理"正在吃但还没吃完"的苹果如何避免除零错误如何处理时间足够吃比实际更多苹果的情况
#include <bits/stdc++.h>
using namespace std;
int main() {int m, t, s;cin >> m >> t >> s; // 输入苹果数量、吃一个需要的时间、已经过去的时间// 特殊情况1:如果吃一个苹果需要0分钟,瞬间吃完所有苹果if (t == 0) {cout << 0 << endl;return 0;}// 计算已经吃了多少个苹果(包括没吃完但已经不完整的)int sum;if (s % t == 0) {sum= s / t; // 正好吃完整数个} else {sum = s / t + 1; // 多一个不完整的苹果}// 计算剩下的完整苹果数量int count = m - sum;// 如果剩下的苹果数量小于0,说明吃超了,实际上剩0个if (count < 0) {count = 0;}cout << count << endl;return 0;
}