Given a pseudo random number generator rand5() that generates a random integer in the set [0,1,2,3,4], how would someone use this to generate a function rand7() that outputs [0,1,2,3,4,5,6] with equal probability.I was thinking of approaching it this way: reduce the problem to generate number from 0 to 6 using a coin.We can represent [0,1,2,3,4,5,6] using bit-wise from 000 to 111.Selecting each bit from LSB to MSB can be done using tossing a coin.However, if we continue in this fashion from LSB to MSB then wecan get all bits as 111 which is decimal 7. So, in the case of MSBif we get 1 then discarding it and starting again should givethe result? Right?Reducing the problem from rand5() to coin can be done in this way: if the number is 0,2 then we can consider it as head and getting 1,3 can be considered as tail.Is my solution right?
Given a random number generator rand5() generate gen7()
algorithms;pseudo random generators