2016-07-04 1 views
-2

내가 기능을 구현했습니다 :JavaScript : 특정 확률로 머리/꼬리를 코딩하는 방법?

function coinFlip() { 
     return(Math.floor(Math.random()*2) === 0) ? 'Heads' : 'Tails'; 
} 

를 그리고 그것의 모든 작업을 잘 (나는 이미 그것을 테스트).

제 문제는 '머리'가 생길 확률이 30 %이고 '꼬리'가 발생할 확률이 70 %가되도록이 함수를 만드는 방법은 무엇입니까? 세 가지 중 하나가 동전을 던져

+1

0과 1 사이의 난수를 선택하십시오. 숫자가 0.3보다 작 으면 머리입니다. 그렇지 않으면 꼬리에요 ... –

+0

좋아,하지만 10 동전 던지기를한다고 가정 해. 나는 결과를 인쇄하고 논리에 의해 그 중 3 개는 머리가되고 7 개는 꼬리가됩니다. 어떻게 구현합니까? – 5120bee

+0

그 중 3 개가 머리가되고 그 중 7 개가 꼬리가 될 것이라는 것은 확실하지 않습니다. 많은 반복 실험을 통해 평균은 3 개의 머리가되고 7 개의 꼬리는 – derp

답변

2
function coinFlip() { 
     return(Math.random() < 0.3) ? 'Heads' : 'Tails'; 
} 
+0

고맙습니다. 이것은 내가 찾던 것에 맞아 보인다. 나는 처음에 0.7을 시도했지만, 남은 것은 Heads/Tails 위치를 뒤집거나 반대로 0.3을 넣는 것입니다. – 5120bee

1

경우 사전에

감사가 10 개 토스에서, 여기에 500 개 토스와 코드가 .. 3 머리가있을 것이라는 점을 의미하지 않는다 머리 (단지 변경 수)

function coinFlip() { 
      return(Math.random() < 0.3) ? 'Heads' : 'Tails'; //ofc 0.3 is 30% (3/10) 
    } 

var howManyTimes=500; 
var countHeads=0; 
for (var i=0; i<howManyTimes;i++){ 
    if (coinFlip()==='Heads'){ 
     countHeads++; 
    } 
} 
alert("Heads appear "+(countHeads/howManyTimes)*100+"% of the time"); 

"어떻게 특정 비율의 문제를 해결하기 위해"당신은 '수 t, 이것은 확률이 작동하는 방식입니다.