php 從指定數字中獲取隨機組合的方法
阿新 • • 發佈:2018-11-08
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
例如:給定數字100,需要隨機獲取3個組成這個數字的組合,例如70,20,10
程式碼如下:
<?php/** * 獲取指定數字的隨機數字組合 * @param Int $var 數字 * @param Int $num 組合這個數字的數量 * @return Array */function getNumGroups($var, $num){ // 數量不正確 if($var<$num){ return array(); } $total = 0; $result = array(); for($i=1; $i<$num; $i++){ $tmp = mt_rand(1, $var-($num-$i)-$total); $total += $tmp; $result[] = $tmp; } $result [] = $var-$total; return $result;}// demo$result = getNumGroups(100, 3);print_r($result);?>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
輸出:
Array( [0] => 42 [1] => 25 [2] => 33)
- 1
- 2
- 3
- 4
- 5
- 6