Which is why stating the requirements precisely is important.
If modeling a coin toss is the goal, this should work.
bool uniform()
{
static unsigned int x = 1234567;
x = 63663*(x&65535)+(x>>16);
return ((x&64)==0) ^ nonUniform();
}
On Mar 17, 3:29 pm, Dave <[email protected]> wrote:
> @Don: Clever and efficient code to meet the problem statement
> precisely. It does give true on half of the calls, but it doesn't give
> true with probability 50% on any given call, so we wouldn't want to
> use it to model a fair coin.
>
> Dave
>
> On Mar 17, 1:03 pm, Don <[email protected]> wrote:
>
> > bool uniform()
> > {
> > static bool state = true;
> > state = !state;
> > return state ^ nonuniform();
>
> > }
>
> > On Mar 17, 9:24 am, saurabh agrawal <[email protected]> wrote:
>
> > > Given a function which returns true 60% time and false 40% time.
>
> > > Using this function you have to write a function which returns true 50% of
> > > the time.- Hide quoted text -
>
> > - Show quoted text -
>
>
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.