posts - 195, comments - 34, trackbacks - 0, articles - 1
          算法利用了從1到pow(2,n)-1的所有整數的二進制表示中1的位置組合剛好是所要取的所有組合的性質。  

           1static void combin(char []list)
           2    {
           3        int count = (int)Math.pow(2, list.length)-1 ;
           4        int [] b = new int[list.length];
           5        for(int i = 1; i <= count;i++)
           6        {
           7            
           8            for(int j =0 ;j < list.length;j++)
           9            {
          10                b[j] = (i>>j) & 1;    
          11            }

          12            for(int k = 0;k < list.length;k++)
          13            {
          14                if(b[k] == 1)
          15                    System.out.print(list[k]);
          16            }

          17        //    if(i < count) System.out.print(", ");
          18            System.out.println();
          19        }

          20    }
          一個輸出結果是,如此調用
          char []str={'1''2''3''4'};
            
            combin(str);
          結果如下:
          1
          2
          12
          3
          13
          23
          123
          4
          14
          24
          124
          34
          134
          234
          1234



          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 大兴区| 陈巴尔虎旗| 四子王旗| 江西省| 贡嘎县| 伊吾县| 安泽县| 慈利县| 东安县| 吉安市| 额敏县| 德江县| 铜陵市| 富蕴县| 泰兴市| 左云县| 平度市| 靖远县| 枣庄市| 临武县| 基隆市| 上杭县| 陕西省| 环江| 土默特右旗| 罗江县| 皮山县| 报价| 迁西县| 宁波市| 克东县| 扎鲁特旗| 含山县| 赣榆县| 正定县| 乳源| 黄龙县| 禹城市| 凤阳县| 南郑县| 莲花县|