|
|
|
![]() |
|
Strumenti |
![]() |
#21 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
monkey72: non c'è un "insieme"...sono numeri
![]() Viene aggiunto 1 quando maggiore di 20 perchè se Y fosse maggiore di X allora Y non potrebbe mai essere 20 ![]() Ti faccio une sempio in C che credo tu conosca: Codice:
srand((unsigned)tim(NULL)); int x = rand()%20 + 1; //x compreso fra 1 e 20 int y = rand()%19 + 1; //y compreso fra 1 e 19 if(y >= x) ++y; //ora y è compreso fra 1 e 20, ma diverso da x ;) |
![]() |
![]() |
![]() |
#22 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#23 |
Senior Member
Iscritto dal: Dec 2001
Messaggi: 1385
|
ok sull'utilizzo del modulo in questo senso, solo per dare un limite superiore per la f.ne rand, e ok anche i +1 xchè il limite inferiore di rand è 0, xò... ancora non capisco perchè tu debba poter scegliere Y solo fra 19 elementi e poi forzarla a dover in qualche caso assumere il valore 20
io farei così: Codice:
int x = rand()%20 + 1; //x compreso fra 1 e 20 int y = rand()%20 + 1; //y compreso fra 1 e 20 if(y = x) y = (y+1) % 20;
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km" ![]() |
![]() |
![]() |
![]() |
#24 |
Registered User
Iscritto dal: Dec 2001
Messaggi: 890
|
é corretto quello che dice cionci:
La realtà presa in esame prevede che si estragga un elemento casuale da un'insieme di 20 elementi. ovvero, ogni elemento ha 1/20 di probabilità di essere estratto. Il secondo passaggio prevede di estrarre un elemento casuale da un'insieme di 19 elementi. Ovvero, ogni elemento ha 1/19 di probabilità di essere estratto. Estrarre sempre da 1 a 20 e ripetere il ciclo fino a che il secondo estratto è diverso dal primo è un'errore per due motivi: 1) La seconda estrazione prevede sempre 1/20 di possibilità di uscire per ogni elemento, sebbene gli elementi siano solo 19! 2) Esso è -POTENZIALMENTE- (sebbene non succederà mai) un ciclo infinito. Infatti, potrebbe CASUALMENTE succedere che venga estratto sempre lo stesso numero. Alcuni compilatori molto evoluti potrebbero addirittura segnalare errore! Estraendo invece da 1 a 19 e incrementando di 1 nel caso sia >= al primo estratto, invece, si è ricreata perfettamente la realtà presa in esame. Pongo all'attenzione un'altra osservazione, che non centra nulla con l'algoritmo di estrazione: Lavorando su db, nessuno ci assicura che fra gli ID non ci siano buchi................... |
![]() |
![]() |
![]() |
#25 | |
Senior Member
Iscritto dal: Dec 2001
Messaggi: 1385
|
Quote:
xò questi sono dettagli... ![]()
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km" ![]() |
|
![]() |
![]() |
![]() |
#26 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
No...21 no...
Il modulo è il resto della divisione intera per 20... Quindi è compreso fra 0 e 19...+1...è quindi compreso fra 1 e 20 ![]() |
![]() |
![]() |
![]() |
#27 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
![]() |
![]() |
![]() |
#28 |
Member
Iscritto dal: Nov 2002
Messaggi: 160
|
Vi fate le canne??
![]() x cionci: int x = rand()%20 + 1; //x compreso fra 1 e 20 int y = rand()%19 + 1; //y compreso fra 1 e 19 if(y = x) y = (y+1) % 20; Quello che hai scritto implica che x può assumere valori tra 1 e 20 y può assumere valore 20 MAI se si estre x=19 e y=19 -> y=0 quindi non puoi mai avere (x,y)=(19,20) anzi avresti (19,0) // i numeri del questito sono da 1 a 20 dr.stein Ma dove lo vedi il ciclo infinito che i compilatori evoluti possono identificare? |
![]() |
![]() |
![]() |
#29 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
fabio_tarantino: quello che hai copiato è il codice di monkey72, ha bisogno di una ritoccatina). il mio codice è questo...ed y può assumere anche il valroe di 20 se x è 19
![]() Quote:
Ultima modifica di cionci : 18-05-2004 alle 14:41. |
|
![]() |
![]() |
![]() |
#30 | |
Registered User
Iscritto dal: Dec 2001
Messaggi: 890
|
Quote:
Estraggo un numero casuale da 1 a 20: Se è diverso da 5 ok, altrimenti ripeto questo passaggio. Se esce sempre 5 è un ciclo infinito! |
|
![]() |
![]() |
![]() |
#31 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#32 | |
Registered User
Iscritto dal: Dec 2001
Messaggi: 890
|
Quote:
![]() E non pensiate che sia poi così assurda la possibilità che si verifichi una cosa del genere.... mettiamo il caso che il seme di randomizzazione per un qualsiasi motivo che sfugge al nostro controllo rimanga costante.... il numero estratto rimarra sempre uguale.... BAM! Murphy colpisce ancora! ![]() |
|
![]() |
![]() |
![]() |
#33 | |
Member
Iscritto dal: Nov 2002
Messaggi: 160
|
Quote:
|
|
![]() |
![]() |
![]() |
#34 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#35 | ||
Registered User
Iscritto dal: Dec 2001
Messaggi: 890
|
Quote:
![]() Quote:
|
||
![]() |
![]() |
![]() |
#36 | |
Senior Member
Iscritto dal: Dec 2001
Messaggi: 1385
|
Quote:
![]()
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km" ![]() |
|
![]() |
![]() |
![]() |
#37 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Vero
![]() |
![]() |
![]() |
![]() |
#38 | |
Senior Member
Iscritto dal: Dec 2001
Messaggi: 1385
|
Quote:
![]()
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km" ![]() |
|
![]() |
![]() |
![]() |
#39 | |
Senior Member
Iscritto dal: Dec 2001
Messaggi: 1385
|
Quote:
![]()
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km" ![]() |
|
![]() |
![]() |
![]() |
#40 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
![]() ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:01.