WinForLife

Il forum di Base5, dove è possibile postare problemi, quiz, indovinelli, rompicapo, enigmi e quant'altro riguardi la matematica ricreativa e oltre.

Moderatori: Gianfranco, Bruno

Rispondi
Pasquale
Livello 11
Livello 11
Messaggi: 2307
Iscritto il: mer mag 25, 2005 1:14 am

WinForLife

Messaggio da Pasquale » mer ott 14, 2009 1:58 am

Non so se avete esaminato il nuovo gioco WinForLife: si giocano 10 numeri scelti fra 1 e 20, pagando 1 euro; poi vengono estratti 10 numeri e vince chi realizza 7,8,9,o 10 punti; se si pagano 2 euro, si vince anche con 0,1,2 o 3 punti (tralascio un'altra possibilità che complica le cose e le rende ancora più difficili).
La probabiltà di effettuare una vincita qualsiasi è dell''ordine del 10%, nella giocata da 1 euro, e del 20% nella giocata da 2 euro.
Pare che si facciano 13 estrazioni al giorno per 6 giorni la settimana, 4056 all'anno, 81120 in 20 anni.
Si vince intorno ai 10.000 euro con 0/10 punti, 100 euro con 1/9 punti, 10 euro con 2/8 punti, 2 euro con 3/7 punti.
A prima vista sembrerebbe quasi giocabile, ma vediamo cosa dice la simulazione in Decimal Basic appresso riportata, nella quale, scelta una decina, la si può giocare per v volte; un v molto alto dà risultati più attendibili (es: 1.000.000), ma corrisponde a molto di più di 20 anni di gioco continuato (i risultati non sono dissimili, se modificando leggermente il programma si gioca ogni volta una decina diversa).
Spero che questo modestissimo studio, che pone bene in evidenza i risultati, con i punti e le vincite realizzabili, possa essere utile a qualcuno, a parte i grandi exploit di c.... che non sono da tutti, anche se ognuno vi spera:


OPTION BASE 0
DIM a(10)
DIM b(10)
DIM c(10)

RANDOMIZE
FOR m=1 TO 10
10
LET x=1+INT(RND*20)
FOR n=1 TO m-1
IF x=a(n) THEN GOTO 10
NEXT N
LET a(m)=x
NEXT M

INPUT PROMPT "Quante giocate vuoi analizzare? --> ": v
PRINT

FOR p= 1 TO v

FOR m=1 TO 10
20
LET x=1+INT(RND*20)
FOR n=1 TO m-1
IF x=b(n) THEN GOTO 20
NEXT N
LET b(m)=x
NEXT M

LET cont=0
FOR m=1 TO 10
FOR n=1 TO 10
IF a(m)=b(n) THEN
LET cont=cont+1
EXIT FOR
END IF
NEXT N
NEXT M
LET c(cont)=c(cont)+1

NEXT P

FOR m= 0 TO 10
PRINT USING "## )":m;
PRINT USING "#######":c(m)
NEXT M
PRINT
PRINT

LET cont=0
FOR m=7 TO 10
LET cont=cont+c(m)
NEXT M
LET x=2*c(7)+10*c(8)+100*c(9)+10000*c(10)

PRINT "Vincite di qualsiasi tipo con giocate da 1 euro:";cont;"su";v; "giocate, pari al";INT(10000*cont/v)/100;"%"
PRINT "Hai speso";v;"euro e ne hai incassato";x;", cioè";100*x/v;"% di quanto hai speso"
PRINT

LET cont=0
FOR m=0 TO 3
LET cont=cont+c(m)
NEXT M
FOR m=7 TO 10
LET cont=cont+c(m)
NEXT M
LET x=10000*(c(0)+c(10))+100*(c(1)+c(9))+10*(c(2)+c(8))+2*(c(3)+c(7))

PRINT "Vincite di qualsiasi tipo con giocate da 2 euro:";cont;"su";v; "giocate, pari al";INT(10000*cont/v)/100;"%"
PRINT "Hai speso";2*v;"euro e ne hai incassato";x;", cioè";50*x/v;"% di quanto hai speso"


END
_________________

\text {     }ciao Immagine ciao
E' la somma che fa il totale (Totò)

Rispondi