如何在java或php中查找概率的代码

时间:2014-01-24 20:54:25

标签: java php probability

我想制作一个类似下面例子的程序。

input : 2
output : 
(1) , (2);
(1,2), (2,2);

input : 3 
output :
(1),(2),(3);
(1,2),(1,3),(2,3);
(1,2,3)

公式为2 ^ n-1

我只尝试过只使用。我希望得到所有可能性。

喜欢:
(1),(2);
(1,1),(1,2),(2,1),(2,1),

1 个答案:

答案 0 :(得分:0)

PHP上使用自定义功能:

$inputValues = range(1,3); //here you set your input(2 or 3 or what you want)

$result = array();

function variations($inputValues, $level, &$result, $current = array()) {
    for($i = 0; $i < count($inputValues); $i++) {
        $new = array_merge($current, array($inputValues[$i]));
        if($level == 1) {
          sort($new);
            if (!in_array($new, $result)) {
                $result[] = $new;          
            }
        } else {
            variations($inputValues, $level - 1, $result, $new);
        }
    }
}
for ($i = 0; $i<count($inputValues); $i++) {
    variations($inputValues, $i+1, $result);
    }

foreach ($result as $arr) {
    echo '('.join(",", $arr) . ')';
}

Result is:

(1)(2)(3)(1,1)(1,2)(1,3)(2,2)(2,3)(3,3)(1,1,1)(1,1,2)(1,1,3)(1,2,2)(1,2,3)(1,3,3)(2,2,2)(2,2,3)(2,3,3)(3,3,3)