PHP簡單排列組合演算法樣本分享

來源:互聯網
上載者:User
本文主要和大家介紹了PHP實現的簡單排列組合演算法,結合具體應用執行個體分析了排列組合演算法的實現與提示,需要的朋友可以參考下,希望能協助到大家。

一、問題:

給你一個40斤的西瓜,給3個人分,有多少種分法?

二、PHP實現代碼:


<?php$aa = range(1,40);$bb = array();foreach($aa as $k=>$val){  foreach($aa as $v){    foreach($aa as $vl){      $sum = $val+$v+$vl;      if($sum == 40){        $bb[$k][0] = $val;        $bb[$k][1] = $v;        $bb[$k][2] = $vl;      }    }  }}echo '<pre>';print_r($bb);exit;?>

運行結果如下:


Array(  [0] => Array    (      [0] => 1      [1] => 38      [2] => 1    )  [1] => Array    (      [0] => 2      [1] => 37      [2] => 1    )  [2] => Array    (      [0] => 3      [1] => 36      [2] => 1    )  [3] => Array    (      [0] => 4      [1] => 35      [2] => 1    )  [4] => Array    (      [0] => 5      [1] => 34      [2] => 1    )  [5] => Array    (      [0] => 6      [1] => 33      [2] => 1    )  [6] => Array    (      [0] => 7      [1] => 32      [2] => 1    )  [7] => Array    (      [0] => 8      [1] => 31      [2] => 1    )  [8] => Array    (      [0] => 9      [1] => 30      [2] => 1    )  [9] => Array    (      [0] => 10      [1] => 29      [2] => 1    )  [10] => Array    (      [0] => 11      [1] => 28      [2] => 1    )  [11] => Array    (      [0] => 12      [1] => 27      [2] => 1    )  [12] => Array    (      [0] => 13      [1] => 26      [2] => 1    )  [13] => Array    (      [0] => 14      [1] => 25      [2] => 1    )  [14] => Array    (      [0] => 15      [1] => 24      [2] => 1    )  [15] => Array    (      [0] => 16      [1] => 23      [2] => 1    )  [16] => Array    (      [0] => 17      [1] => 22      [2] => 1    )  [17] => Array    (      [0] => 18      [1] => 21      [2] => 1    )  [18] => Array    (      [0] => 19      [1] => 20      [2] => 1    )  [19] => Array    (      [0] => 20      [1] => 19      [2] => 1    )  [20] => Array    (      [0] => 21      [1] => 18      [2] => 1    )  [21] => Array    (      [0] => 22      [1] => 17      [2] => 1    )  [22] => Array    (      [0] => 23      [1] => 16      [2] => 1    )  [23] => Array    (      [0] => 24      [1] => 15      [2] => 1    )  [24] => Array    (      [0] => 25      [1] => 14      [2] => 1    )  [25] => Array    (      [0] => 26      [1] => 13      [2] => 1    )  [26] => Array    (      [0] => 27      [1] => 12      [2] => 1    )  [27] => Array    (      [0] => 28      [1] => 11      [2] => 1    )  [28] => Array    (      [0] => 29      [1] => 10      [2] => 1    )  [29] => Array    (      [0] => 30      [1] => 9      [2] => 1    )  [30] => Array    (      [0] => 31      [1] => 8      [2] => 1    )  [31] => Array    (      [0] => 32      [1] => 7      [2] => 1    )  [32] => Array    (      [0] => 33      [1] => 6      [2] => 1    )  [33] => Array    (      [0] => 34      [1] => 5      [2] => 1    )  [34] => Array    (      [0] => 35      [1] => 4      [2] => 1    )  [35] => Array    (      [0] => 36      [1] => 3      [2] => 1    )  [36] => Array    (      [0] => 37      [1] => 2      [2] => 1    )  [37] => Array    (      [0] => 38      [1] => 1      [2] => 1    ))

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.