[問題] 0與1的排列組合
好煩呀
這個是一個作業
題目就是:輸入一個數字n(正整數)
請排列出n個位元的0101的排列組合
不可使用 0,1,2,3,4,5,6.....的方式累加轉二進制補零的方式
也不可以使用任何除2進位之類有的沒有的方法
只能:0個1的排列、1個1的排列、2個1的排列.....n個1的排列
我的方法是:若n=6
0個1: 000000
1個1: 100000
010000
001000
000100
000010
000001
2個1: 110000
101000
100100
100010
100001 最右邊的1已經到底了
011000 右邊數過來倒數第二個1往右shift一位
最右邊的1接在第二個1的下一個位元,繼續跑
010100
010010
010001
001100
001010
001001
000110
000101
000011
3個1: 111000
110100
110010
110001
101100
101010
101001
100110
100101
100011
011100
011010
011001
010110
010101
010011
001110
001101
001011
000111
以下同上
這是我的想法
印象中老師說可以用遞迴寫.....
我已經想好終止條件了:當1的長度只有一個的時候邊印邊往右shift
可是我不知道要怎麼樣往終止條件靠近.....
有想法但是程式碼就是想不出來....
不知道有沒有鄉民可以幫我一把.....
希望我的說明大家可以看的董
--
肝不好 ▁▁ ● ◤ 肝若好
人生是黑白的 ▏ ◤ 考卷是空白的
▏ ◤ 、 ﹐
● ●b 囧 ▎ ●> ● ◤ ▌ ﹍﹍ 0 ▊囧> 幹...
▲ ■┘ ■ ▎ ■ █◤ ▌ ㄏ▋ ︶■
〈﹀ ∥ ▁▁∥ ▎ ﹀〉◤ ▋ ▊ 〈\ ψcockroach727
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.232.63.167
※ 編輯: liu2007 來自: 118.232.63.167 (09/26 03:48)
→
09/26 03:53, , 1F
09/26 03:53, 1F
→
09/26 03:54, , 2F
09/26 03:54, 2F
推
09/26 14:53, , 3F
09/26 14:53, 3F
→
09/26 23:18, , 4F
09/26 23:18, 4F
討論串 (同標題文章)