Problema
A partire dai n=2dadi:
- Lancia i
ndadi, con ogni numero da 1 a 6 ugualmente probabile su ogni dado. - Controlla se la loro somma è uguale alla somma più probabile per i
ndadi, cioè3.5*n.- Se sono uguali, termina.
- Altrimenti, stampa
ne ripeti dall'inizio con in+2dadi
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 2e 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?