< Zpět na seznam úloh

16 Tahání jedné nebo dvou sirek

var names = ['pocet']
var datasets = [
  {arg: 1, out: true},
  {arg: 2, out: true},
  {arg: 3, out: false},
  {arg: 10, out: true},
  {arg: 12, out: false},
]

Hra začíná s nějakým počtem sirek na stole. Hráči se střídají a v každém tahu je povoleno vzít buďto jednu, nebo dvě sirky. Vyhrává, kdo sebere ve svém tahu ze stolu poslední sirku.

Úkolem našeho programu je určit, jestli při daném počtu sirek jde zaručeně vyhrát. Jestli nám soupeř může výhru překazit, má program naopak vrátit False.

def main(pocet):
  return True

Při řešení postupujte od konce: začněte s jednou sirkou na stole, tam je výsledek jasné True. Potom krok za krokem přidávejte sirku a zkoumejte, jak jde v takové situaci hrát:

Je na vás, jestli chcete víc práce vymyslet na papíře a pak jen maličko programovat, anebo míň přemýšlet a naprogramovat to rovnou celé.