douyan1970 2014-01-24 20:54
浏览 7
已采纳

如何在java或php中查找概率的代码[关闭]

I want to make a program like the example below.

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

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

The formula is 2^n-1.

I have tried only using for only. I want to get the all possibility.

like :
(1),(2);
(1,1),(1,2),(2,1),(2,1),

  • 写回答

1条回答 默认 最新

  • dousonghs58612 2014-01-24 21:08
    关注

    Use custom function on 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)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染