2012-04-17 1 views
0

근무 중에 소수의 확률

<!--- RANDOMLY DECIDE IS THIS PERSONS A WINNER 1 IN 8 CHANCE---> 
<cfset attributes.random_point = RandRange(1, 8)> 

<cfif attributes.random_point eq 5> 
    WINNER 
<cfelse> 
    You got nothing! 
</cfif> 

가 어떻게 소수점 확률이 변환 않는 일부에서 예전의 코드를 통해가는? 이제부터 나는 x를 얻는 변화를 결정하기 위해 십진법을 사용하고 싶다. 예를 들어, 나는 1.10 기회가 있거나 1.11 기회가 x.

답변

2

그때 내가 소수로 승리의 %의 확률로 정의 할 제대로 이해하고 을 만든 다음 (랜드에 의존하는 것 이 불구하고 여전히

<cfscript> 
    numChanceToWin = 0.15; // <= this == winner == 15% chance to win 
    numRandom = Rand(); // decimal from 0 to 1 

    if (numRandom <= numChanceToWin) { 
     // Winner 
    } else { 
     // Loser 
    } 
<cfscript> 

는 또한 numChanceToWin = 1/8; 또는

if (numRandom/numChanceToWin <= 1) { // Winner을 설정하여 1/8의 정의와 함께 작동 이상 느끼지 않는다
1

나는) 단순히 /를 attributes.random_point randrange (1,100) (100)

<!--- RANDOMLY DECIDE IS THIS PERSONS A WINNER 1 IN 8 CHANCE---> 
<cfset attributes.random_point = RandRange(0, 100)/100> 

<cfif attributes.random_point lt 0.11> 
    WINNER 
<cfelse> 
    You got nothing! 
</cfif>