'Programming Problems/Probability'에 해당되는 글 1건

Programming Problems/Probability

p/1-p 함수로 0.5짜리 랜덤 함수 만들기

두개의 동전을 던져서 1 앞, 2 뒤 면 true를 리턴하고 1 뒤 2 앞이면 false를 리턴한다.


둘이 같은게 나왔으면 그냥 다시 한번 굴린다.


그러면 앞뒤 뒤앞은 각각 p*(1-p) 로 확률이 같게 되서 출력되는 기대값은 0.5다!!


while(true)
{
	p1 = rand_bit_p();
	p2 = rand_bit_p();

	if(p1 && (!p2)) return true;   // prob = p * (1-p)
	if((!p1) && p2) return false; // prob = (1-p) * p
}


'Programming Problems > Probability' 카테고리의 다른 글

p/1-p 함수로 0.5짜리 랜덤 함수 만들기  (0) 2018.04.22