Die Lösung CodingBat Herstellung von Ziegeln puzzle in Python

Ich bin Abschluss diese CodingBat problem:

Wollen wir eine Reihe von Ziegeln, die Ziel-Zoll lang. Wir haben ein paar kleine Steine (1 Zoll) und große Steine (5 Zoll jeder). Gibt True zurück, wenn es möglich ist, um das Ziel, indem Sie aus den gegebenen Bausteinen. Dies ist ein wenig schwieriger, als es aussieht und geht auch ohne Schleifen.

make_bricks(3, 1, 8)  True
make_bricks(3, 1, 9)  False
make_bricks(3, 2, 10)  True

Schrieb ich:

if small + big * 5 >= goal: return True
else: return False

Meine Fehler sind: make_bricks(3, 2, 9)False (ich wahr, denn (2*5)+3=13, die größer ist als 9.

make_bricks(2, 1000000, 100003)  False
make_bricks(1, 4, 12)  False

Fand ich diese Antwort nicht bestandenen tests:

if goal > small + big * 5:
  return False
else:
  return goal % 5 <= small

Ich weiss nicht wirklich warum, kann mir bitte jemand erklären?

Schreibe einen Kommentar