【问题标题】:Permutation generator php/java Script排列生成器 php/javaScript
【发布时间】:2018-08-30 10:03:11
【问题描述】:

我有 13 场足球比赛,可能的结果是主队赢、平局、客队赢。一个赌注必须预测所有 13 场比赛。我一直在尝试生成一个可以计算所有可能的投注组合的脚本,从数学上讲,可能的匹配数是 3^13。

到目前为止,我在 PHP 中拥有的是这个;

    $count  = 1;
    $total_rows     = 13;
    $total_level    = 13;
    $total_cols     = 3;
    $total_global   = 3;

    $active_rows    = 0;
    $active_cols    = 0;
    $active_levels  = 0;
    $active_global  = 0;

    $betArray   = array();

    $aciveChoice[$total_rows]   = 0;
    $globalChoice[$total_level] = 0;

    while($active_rows < $total_rows){
        while($active_cols < $total_cols){

            while($active_global < $total_global){
                while($active_levels < $total_level){
                    echo $active_rows.' - '.$active_levels.': Select:'.$active_cols.' - '.$active_global.'<br/>';
                    $active_levels++;
                }
                echo $count++.'<br /><br /><br />';
                $active_levels  = 0;
                $active_global++;                       
            }

            $active_global = 0;
            $active_cols++;
        }
        $active_cols    = 0;
        $active_rows++; 
        }   
    }

我的脚本没有给出所有可能的组合。任何有关如何解决此问题的想法将不胜感激。

【问题讨论】:

  • 13^3?不,3^13!您确定要在您的网页上显示 1594323 行吗?
  • @Amadan 这是为了分析目的,不是为了展示。
  • 那么,您想对 1594323 个结果做什么?把它们塞进一个列表?调用回调?您的代码并没有真正给我提示......
  • @Amadan 进行测试我显然没有使用 13。我使用 4 进行测试。我想先把脚本弄好,然后再组织我的代码。这样做的目的是为用户创建一个基于历史的决策支持系统

标签: java php combinations permutation


【解决方案1】:
$matches = 13;
$outcomes = 3;
$possibilities = $outcomes ** $matches;

for ($count = 0; $count < $possibilities; $count++) {
  echo str_pad(base_convert($count, 10, 3), $matches, '0', STR_PAD_LEFT)."\n";
}

这将打印许多 13 个字符的字符串,每个字符具有三种不同的可能性。 (如何分配意义由您决定;我可能会使用1 代表Team1 获胜,2 代表Team2 获胜,0 代表平局。)

如果数字太大,这将失败,因为base_convert 显然可以通过float 工作。有ways around it,但如果你正在探索这么多可能性,你可能会遇到其他问题:P

【讨论】:

  • 这是完美的@Amadan。正是我想要的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-22
  • 1970-01-01
  • 2016-10-01
  • 2019-11-28
  • 1970-01-01
相关资源
最近更新 更多