题目描述
八尾勇喜欢吃苹果。她现在有 m(m≤100) 个苹果,吃完一个苹果需要花费 t(t≤100) 分钟,吃完一个后立刻开始吃下一个。现在时间过去了 s(s≤10000) 分钟,请问她还有几个完整的苹果?
输入格式
输入三个非负整数表示 m 、t 和 s。
输出格式
输出一个整数表示答案。
输入样例
50 10 200
输出样例
30
分析:
这道题虽然难度不大,但要注意它设下的陷阱,我们应考虑如下情况:
- 注意是求完整的苹果,啃了几口但没吃完的苹果一定要排除
- 如果吃一个苹果需要0分钟(这种情况看起来不可思议但确实需要考虑),此时s/t是没有意义的,应该分开讨论,即t=0时,剩下的完整苹果数量仍为m(因为不可能一瞬间就吃完一个苹果)
- 如果苹果不够吃,不能输出负数,得输出0
代码如下:
#include<iostream>
#include<cmath>
using namespace std;
int main(){
/*
m:吃之前苹果总数
t:吃完一个苹果所需时间
s:吃苹果总共所花时间
*/
int m,t,s;
cin>>m>>t>>s;
if(t==0){
//不能一瞬间吃掉苹果
cout<<m<<endl;
}else{
/*
1. ceil函数是向上取整函数,注意这个函数的输入输出都是double
类型,所以需要强制转换成int类型
2.max函数的作用是防止出现输出负数个苹果
*/
cout<<max(m-(int)ceil(1.0*s/t),0)<<endl;
}
return 0;
}
版权声明:本文为weixin_45619844原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。