Dolgočasna igra

Odprto: ponedeljek, 11. oktober 2021, 00.00
Rok za oddajo: sreda, 20. oktober 2021, 15.15

Imamo krožno ploščo s polji, oštevilčenimi od 0 do 5 (ker računalnikarji štejemo od 0 in ne od 1). Začnemo na polju 0 in mečemo kocko. Recimo, da vržemo najprej 2 (smo na polju 2), nato 3 (smo na polju 5), nato 4 (smo na polju 3, ker je plošča - za razliko od Zemlje - okrogla), nato vržemo 2 (spet smo na polju 5) ...

Obvezna naloga

Napišite program, ki simulira takšno igro in izpiše število metov, po katerem pridemo stotič na polje 5.

Kocko bomo simulirali takole:

from random import *
seed(8)

Po tem bo vsak klic funkcije randint(1, 6) vrnil naključno število med 1 in 6.

Program

print(randint(1, 6))
print(randint(1, 6))
print(randint(1, 6))
print(randint(1, 6))

izpiše (slučajno ravno)

2
3
4
2

Ker bo kocka padala vedno enako (zaradi seed(8), ki nastavi generator naključnih števil na neko začetno stanje; namesto 8 bi lahko uporabili poljubno drugo število in potem dobili drugačno, a spet vedno enako, zaporedje naključnih števil) , lahko izdam, kaj mora izpisati program: 690.

Dodatna naloga

Funkcijo seed lahko v programu pokličemo večkrat in tako nastavljamo generator naključnih števil na različna začetna stanja.

Napiši program, ki preveri vse možne začetne nastavitve od 0 do 99999 in odigra igro. V vsaki igri bomo potrebovali različno število metov do stotega prihoda na polje 5. Program naj izpiše, kakšno je bilo minimalno število metov, potrebnih v eni od teh 100000 iger.

(Pravilen odgovor je 393.)