Creating a random number generator from a coin toss

前端 未结 4 1432
春和景丽
春和景丽 2020-11-30 05:01

Yesterday i had this interview question, which I couldn\'t fully answer:

Given a function f() = 0 or 1 with a perfect 1:1 distribution, create a functio

4条回答
  •  醉话见心
    2020-11-30 05:23

    def gen(a, b):
      min_possible = a
      max_possible = b
    
      while True:
        floor_min_possible = floor(min_possible)
        floor_max_possible = floor(max_possible)
        if max_possible.is_integer():
          floor_max_possible -= 1
    
        if floor_max_possible == floor_min_possible:
          return floor_max_possible
    
        mid = (min_possible + max_possible)/2
        if coin_flip():
          min_possible = mid
        else:
          max_possible = mid
    

提交回复
热议问题