why u have chosen that 23 ? why dividing by 3 ? don't understand the logic. Please explain so that it become understandable.
On 7/31/10, Dave <dave_and_da...@juno.com> wrote: > Use the rejection method... > > int rand7() > { > int i; > do > i = 5 * rand5() + rand5() - 3; > while( i > 23 ); > return i / 3; > } > > The loop assigns i a value between 5*1+1-3 = 3 and 5*5+5-3 = 27 with > uniform probability, and then rejects any value of i > 23. Thus, after > the loop, i has a uniform distribution on the interval 3 to 23. > Dividing by 3 gives the desired result. > > Under the assumptions of the problem, a value of i is rejected with > probability 4/25, so the loop executes an average of 1/(1 - 4/25) = > 25/21 times. Therefore, on average, it takes 50/21 rand5's to make a > rand7. > > Dave > > On Jul 30, 8:33 am, jalaj jaiswal <jalaj.jaiswa...@gmail.com> wrote: >> given a rand5 function which generates numbers from 1 to 5 with equal >> probability.. give an algorithm which uses rand5 function and generates >> numbers from 1 to 7 with equal probability >> -- >> With Regards, >> Jalaj Jaiswal >> +919026283397 >> B.TECH IT >> IIIT ALLAHABAD > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algoge...@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algoge...@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.