A問題 引っ越し作業
1 2 3 4 5 6 7 |
import math #小数点以下を切り捨てるためインポート n = int(input()) #変数nにint()で整数型にした入力値を代入 if n % 2 == 0: #n÷2の余りが0なら print(math.floor(n/2)) #n÷2を計算し、math.floorで小数点を切り捨てて出力 else: #n÷2の余りが0以外なら print(math.floor(n/2)+1) #n÷2を計算し、math.floorで小数点を切り捨て、1を加えて出力 |
1回でダンボールを2個運ぶことができる高橋君がN個の荷物を運ぶためには何回往復が必要かという問題です。いつも思いますが、問題文を理解することが少し難しいですね。
ダンボールの数が奇数の場合(n÷2)+1が解答になります。
例えばダンボールが5個のとき、5÷2で2.5となるので、math.floorで小数点を切り捨てて1を加えることで解答しました。
奇数の時は必ず小数第一位は5になるので、四捨五入でも良いかもしれません。
割り算を行なっているので、ダンボールの数nが偶数の時も小数第一位に0を伴って出力されます。
(例:2.0)
なので、こちらも小数点以下を切り捨てて解答しました。
コメント