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



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


          網站導航:
           
          主站蜘蛛池模板: 新化县| 宜宾县| 湘潭县| 澜沧| 三河市| 鞍山市| 鄂尔多斯市| 乳源| 鹤壁市| 丁青县| 隆尧县| 株洲县| 托克逊县| 永州市| 体育| 元江| 图木舒克市| 昆山市| 建平县| 长子县| 富川| 平南县| 镇原县| 怀宁县| 鹤山市| 邯郸县| 五大连池市| 大厂| 宜都市| 新平| 嘉祥县| 朝阳县| 天全县| 山阳县| 常山县| 临湘市| 吉隆县| 星座| 木兰县| 成都市| 阜新市|