Dim Random As New Random
Dim Numero As String = ""
Console.Write("Estrazione del superenalotto")
For I = 1 To 6
Numero = Random.Next(1, 90).ToString & " " & Numero
Next
Console.Write(Numero)
FileIO.FileSystem.WriteAllText("c:\numeri.txt", Numero, True)
End Sub
Ma nel superenalotto un numero puᅵ uscire due volte?
Alberto
--
Max Beerbohm: Tutto ciᅵ che ᅵ degno di essere fatto ᅵ stato fatto
ripetutamente. Dalle cose mai fatte bisognerebbe tenersi, sospetto,
molto alla larga.
Nel super super enalotto di Marte si!
in questo caso moltiplichi per 100!
Non è banalissimo fare un algoritmo che estragga 90 numeri a
caso...senza sprecare fortuna!
Mi spiego meglio:
la realtà è...
una palla di plexigas con 90 numeri...primo problema ...come sono
introdotti i numeri? Da che situazione iniziale si comincia?
La palla gira (anche le palle prima delle ferie...ma questo è un altro
discorso)
ed estrai un numero....Ergo...non ci sono più 90 palle...ma 89....con
una situazione caotica che NON PUOI azzerare!
Chi prova a randomizzare n tentativi per estrarre y numeri...fà una
cosa corretta matematicamente...MA NON E' UNA SIMULAZIONE!
Una simulazione è N colpi di culo...N numeri diversi estratti...senza
riazzerare nulla fra una estrazione e l'altra!
Io c'ho pensato un po ed alla fine ho prodotto una serie di routine
vb.net ...mi so fatto generare un po di colonne...e le sto giocando!
Ho la solita probabilità tua!
Ma ho la soddisfazione del cazzo tutta da programmatore...di aver
simulato la realtà!
Ti lascio con un detto popolare toscano che è VERITA'
VERA...VANGELO...da incidere sul marmo e meditare ogni giorno che uno
si sveglia:
CONTRO IL CULO E LA CORRENTE...
NON C'E' FORZA COMPETENTE!
Ahloa!
ma dai :P
in effetti ᅵ errato. la prima idea che viene in mente(errata pure
questa) ᅵ quella di controllare se il numero estratto era giᅵ stato
estratto precedentemente..ma questo non ᅵ neanche un algoritmo, perchᅵ
almeno in teoria potrebbe non terminare mai.
la soluzione ᅵ quella di estrarre il primo numero nel range 1..90 ed il
secondo nel range 1..89 se i due numeri sono uguali al secondo numero
si assegna 90 e cosᅵ via. cosᅵ facendo tutti i numeri hanno uguali
probabilitᅵ di uscita e non si rischia di avere numeri ripetuti.
--
IgnazioC
My 3W Experiment: www.theeasyweb.net
Se ne � parlato un mesetto fa, e la tua soluzione � la stessa
a cui alludevo io; tra l'altro ne approfitto per rettificare una
affermazione errata, il post non era di Mauruizio Borrelli, ma
di Antonio Donatiello:
http://groups.google.it/group/it.comp.lang.visual-basic/msg/da66907b3b04294a?hl=it
Bye, G.
E perch� ?
Ricorda invece il detto GMTA (Great Minds Think Alike) :-)
Bye, G.