@Dave: Thanks a lot.. :)

On Tue, Sep 13, 2011 at 7:48 PM, Don <[email protected]> wrote:

> @Dave: Very nice.
> Don
>
> On Sep 12, 10:51 pm, Dave <[email protected]> wrote:
> > Here's another way, using a rejection technique on the bits of the
> > mantissa of p. Each iteration of the do-while loop exposes another
> > high-order bit of p, and the do-while loop iterates as long as the
> > random bits produced by f match the high order bit sequence of p. This
> > most likely will use fewer evaluations of f() than Don's approach.
> >
> > int g(double p)
> > {
> >     int i;
> >     do
> >     {
> >         i = p + p;
> >         p += p - i;
> >     } while( i == f() );
> >     return 1 - i;
> >
> > }
> >
> > Dave
> >
> > On Sep 12, 10:19 am, Don <[email protected]> wrote:
> >
> > > For particular values of p we might be able to do better, but for
> > > unknown values of p, I can't think of anything better than this:
> >
> > > int g(double p)
> > > {
> > >   int n = 0;
> > >   for(int i = 0; i < 30; ++i)
> > >     n += n+f();
> > >   return n > (int)(p*1073741824.0);
> >
> > > }
> >
> > > On Sep 12, 9:55 am, JITESH KUMAR <[email protected]> wrote:
> >
> > > > Hi
> > > > You are given a function f() that returns either 0 or 1 with equal
> > > > probability.
> > > > Write a function g() using f() that return 0 with probability p
> (where 0<p<1
> > > > )
> >
> > > > --
> > > > *Regards
> > > > Jitesh Kumar*- 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.
>
>


-- 
*Regards
Jitesh Kumar

"There is only one 'YOU' in this world. You are Unique and Special.*
*Don't Ever Forget it."*

-- 
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.

Reply via email to