Sto provando a progettare un generatore di numeri casuali che genera numeri casuali da 0-11. Ma ho bisogno di progettarlo considerando che ho già un generatore di numeri casuali che genera numeri casuali da 0-5.Tutti i numeri da 0-11 dovrebbero essere generati con uguale probabilità.Progettazione di un generatore di numeri casuali
sono andato attraverso questo link
Nel link l'equazione utilizzata è 5*foo() + foo() -5
cui foo()
genera numero 1-5 (non 0-5)
1. For each value of first foo(), there can be 5 possible combinations for values of second foo(). So, there are total 25 combinations possible.
2. The range of values returned by the above equation is 1 to 25, each integer occurring exactly once.
3. If the value of the equation comes out to be less than 22, return modulo division by 7 followed by adding 1. Else, again call the method recursively. The probability of returning each integer thus becomes 1/7.
Ora posso cambiare la funzione che il modulo a essa per 12 e recurse la funzione se il numero supera 24, nella funzione che è definita nel link sopra? Se no allora non sto capendo cosa è sbagliato.
In alternativa mi sono imbattuto in questo
consente di chiamare la funzione di generatore di numeri casuali f(6)
che genera il numero 0-5.
(f(6)+f(6)+f(6))%12;
Se non che cosa soluzione alternativa può dedurre i? Ho bisogno di aiuto nel fare questo task.Maybe mi manca something.The fermo qui è ogni numero compreso tra 0-11 dovrebbe avere uguale probabilità di generation.Other di f(6)
Non posso usare altre funzioni. Solo manipolazioni matematiche.
Benvenuti in SO: SE. Per favore leggi [chiedi]. Il tuo post dovrebbe essere migliorato in due direzioni: includi le sezioni pertinenti relative alle risorse collegate nel tuo post (nel caso in cui la risorsa venga spostata o cancellata) e fornisca il codice del tuo tentativo corrente. In bocca al lupo! – mins
è buono? Non ho bisogno di un codice, ho fornito quello che ho tentato ... ho fatto del mio meglio, ma penso ancora che mi manchi qualcosa. – Nilesh
Quello che stai facendo sembra ragionevole, ma lo lascerò a qualcuno che lo possa _prove_. Sono arrugginito e le lezioni che ho preso a riguardo sono state un po 'di tempo fa. –