如何在JavaScript中设置获胜率或百分比

问题描述 投票:0回答:2

我有一个数字游戏(乐透),其中有1-36的数组。

  myNum = [1,2,3...36];

玩家将从1-36中选择6个数字(成一个数组)。我也生成随机6个数字(放入另一个数组)。并且玩家根据与(我的)比赛的次数获胜。

我的意图和我现在的问题是确定玩家获胜的次数,如果与我的比赛匹配,则应将其添加到胜利中,如果没有匹配,则不应添加。这就是我希望设置胜率的方式:

   winPercentage = 80; //80 percent

或任何其他方式。

我用我的一点JS知识做了一些尝试,搜索了Internet和SO,但是无法理解/找到一种方法。有人请帮助

javascript probability percentage
2个回答
0
投票

如果我正确理解您想计算玩家对您的获胜百分比。

如果我是对的,那么您需要计算总比赛数玩家赢得的比赛数

说,

the_total_match_played (TM) = 80;
player_win(PW) = 30;

win_percengage(WP) = (PW * 100) / TM;
WP = (30 * 100) / 80;
   = 37.5%

注意:如果我对您的问题理解有误,请随时发表评论。


0
投票

基本上要评估的表达式是

第一或第二或第三或第四或第五或第六

P(第一)= P(第二)= P(第三)= P(第四)= P(第五)= P(第六)= 1/36

一个人会直观地认为结果会是

1/36 + 1/36 + 1/36 + 1/36 + 1/36 + 1/36 = 6 * 1/36 = 1/6],

但是我们需要跟踪重复的案例。例如,如果选择了第一个,也选择了第二个,则将使用上述公式计算两次,这将是不正确的。所以公式是

1/36 +

35/36 * 1/36 +

((1-35 / 36 * 1/36)* 1/36 +

((1-(1-35 / 36 * 1/36)* 1/36)* 1/36 +

((1-(1-(1-35 / 36 * 1/36)* 1/36)* 1/36)* 1/36 +

((1-(1-(1-(1-35/36 * 1/36)* 1/36)* 1/36)* 1/36)* 1/36

0.16289262235174626〜16.28%

对不起,它是不是

80%。您可以将此值0.16289262235174626分配给类似[]的变量
var winChance = 0.16289262235174626;

并且只要需要百分比,就进行计算

100 * winChance
© www.soinside.com 2019 - 2024. All rights reserved.