私の目標は です。私たちは、ゴールインチのレンガの列を作りたいと思っています。小さなレンガ(それぞれ1インチ)と大きなレンガ(それぞれ5インチ)があります。与えられたレンガから選択してゴールを作ることができるなら、Trueを返します。Pythonでwhileループを使ってCodingbat make_bricksがタイムアウトしました
私のコードは次のとおりです。私のIDLEで
def make_bricks(small, big, goal):
if small + 5*big < goal:
return False
elif small + 5*big == goal:
return True
else:
while small > 0:
small -= 1
goal -= 1
if goal % 5 == 0 and big >= goal/5:
return True
return False
これはうまく動作しますが、codingbatはTIMEDOUTになりました。大きい数字のためwhile
ループが遅すぎるので、それは起こっていますか?私はPython 3.2.5を使用しています。
EDIT:
def make_bricks(small, big, goal):
if small ==0:
if goal % 5 == 0 and goal/5 <= big:
return True
else:
return False
elif small + 5*big < goal:
return False
elif small + 5*big == goal:
return True
else:
while small > 0:
small -= 1
goal -= 1
if goal % 5 == 0 and big >= goal/5:
return True
return False
しかし、同じ問題を持つ:
は、私は別のコードを試してみました。
どのような値が「小」の場合、タイムアウトになりますか? – Carcigenicate
タイムアウトはすべての列にありますが、ある結果がタイムアウトするとタイムアウトになります。しかし、私はあなたの質問が深いことを見て、あなたはそれを指摘した。小さな== 0のときに問題が発生することがあります。 – Bobesh
Didnt work、同じ問題 – Bobesh