Problema
A partire dai n=2
dadi:
- Lancia i
n
dadi, con ogni numero da 1 a 6 ugualmente probabile su ogni dado. - Controlla se la loro somma è uguale alla somma più probabile per i
n
dadi, cioè3.5*n
.- Se sono uguali, termina.
- Altrimenti, stampa
n
e ripeti dall'inizio con in+2
dadi
Il codice non deve eseguire esattamente questa procedura, ma dovrebbe fornire un output casuale probabilisticamente equivalente ad esso, in base alla nostra definizione di casualità .
Il tuo programma dovrebbe generare tutti i numeri sulla propria riga; per esempio, se il programma ottenesse fino a 8 dadi e tirasse il numero più probabile con 8 dadi, l'output sarebbe:
2
4
6
Esempio di esecuzione
Su 2 dadi, 7
è la somma più probabile. Diciamo che i numeri ottenuti erano 2
e 3
. Quindi, si stampa 2
.
Su 4 dadi, 14
è la somma più probabile. Diciamo che i numeri erano arrotolati 3
, 4
, 2
, e 5
. Quindi, la somma è 14
, quindi il programma terminerebbe qui.
L'output finale in questo caso è "2"
.
Regole
- vince la code-golf quindi la soluzione più breve in byte
- Si applicano scappatoie standard
- Si applica la meta definizione di casualità
- È possibile utilizzare funzioni e programmi
2, 4, 6, 8, ...
lanciare un lancio di tanti dadi ogni volta fino a quando non raggiungo il numero più probabile per quell'iterazione?