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 <jkhas...@gmail.com> 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* -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@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.