Apples Prologue/蘋果和蟲子
題目描述
小 B 喜歡吃蘋果。她現在有 m m m(1 ≤ m ≤100)個蘋果,吃完一個蘋果需要花費 t t t(0 ≤ t≤ 100)分鐘,吃完一個后立刻開始吃下一個。
現在時間過去了 s s s(1 ≤ s ≤ 10000)分鐘,請問她還有幾個完整的蘋果?
輸入格式
輸入三個非負整數表示 。
輸出格式
輸出一個整數表示答案。
輸入輸出樣例 #1
輸入 #1
50 10 200
輸出 #1
30
說明/提示
如果你出現了 RE
,不如檢查一下被零除?
C++
首先,八尾勇吃了s/t個蘋果,那么問題就來了,第一個坑:如果t是0,那么八尾勇肯定能吃完所有的蘋果,輸出0,但是0又不能做除數,這種情況要特判。
接著往下想,如果s是t的整數倍,那么八尾勇就吃了s/t個完整的蘋果,剩下m?s/t個完整的蘋果;如果s并不是是t的整數倍,八尾勇就吃了s/t個完整的蘋果和一個殘缺的蘋果,那么就有s/t+1個蘋果不完整了,剩下m?s/t?1個蘋果。
可是,第二個坑:說不定他在s秒內就吃完了這堆蘋果了呢,那么就沒有剩下的蘋果,輸出0。
上代碼:
#include<bits/stdc++.h>//萬能頭文件
usingnamespacestd;
int m,t,s;
int main()
{cin>>m>>t>>s;if(t==0)//特判t=0的情況{cout<<0<<endl;return0;}if(s%t==0)//如果s是t的整數倍cout<<max(m-s/t,0)<<endl;else//如果不是cout<<max(m-s/t-1,0)<<endl;return0;//程序結束
}
Python
讀取輸入的三個整數 m、t 和 s,分別代表蘋果總數、吃完一個蘋果所需時間和已經過去的時間。
接著對 t 為 0 的特殊情況進行處理,若 t 為 0,表明吃蘋果不需要時間,此時所有蘋果都會被吃完,所以直接輸出 0。
對于 t 不為 0 的情況,先計算出吃掉的蘋果數,這里要注意如果 s 不能被 t 整除,說明還在吃一個蘋果,要把這個蘋果也算進去。
最后用蘋果總數減去吃掉的蘋果數得到剩余完整蘋果數,同時要確保結果不小于 0。
m, t, s = map(int, input().split())# 處理 t 為 0 的特殊情況
if t == 0:print(0)
else:# 計算吃掉的蘋果數eaten_apples = s // tif s % t != 0:eaten_apples += 1# 計算剩余完整蘋果數remaining_apples = max(0, m - eaten_apples)print(remaining_apples)
Java
首先是吃完了剩下0個蘋果
其次一個坑點是剩下幾個完整的蘋果,吃一口就算不完整了
所以是k代表被吃過的蘋果,要向上取整
答案為 完整蘋果數=蘋果數-被吃過的蘋果
import java.io.BufferedInputStream;
import java.util.Scanner;publicclass Main {public static void main(String[] args) {Scanner sc=new Scanner(new BufferedInputStream(System.in));int m=sc.nextInt();int t=sc.nextInt();int s=sc.nextInt();int ans;if(m*t<=s) {ans=0;}else {double k=(double)s/t;ans=m-(int)Math.ceil(k);}System.out.println(ans);sc.close();}
}
人們在人生中需要做出許多選擇,只有一次次選擇后才能帶來無限可能,我們要根據自己掌握的情況,做出最佳的選擇。