看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 問題(Question): 請問要如何寫一個8x256陣列,其每一行值是由+1,-1組成,不得重複. 例如:2x4陣列第一列為{1,1,-1,-1},第二列為{1,-1,+1,-1},也就是把+1,-1排列組合 ,所以總共有2^2=4行. 例如:3x8陣列第一列為{1,1,1,1,-1,-1,-1,-1},第二列為{1,1,-1,-1,-1,-1,1,1}, 第三列為{1,-1,-1,1,-1,1,1,-1},所以總共有2^3=8行. 如果要寫一個8x256的陣列,不要用一個元素一個元素慢慢設值的方法, 請問有什麼有效率的寫法嗎? 謝謝!! 預期的正確結果(Expected Output): 寫出8x256陣列,每一行的值皆由1,-1排列組合而成,不能重複. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 182.235.180.28
lsc36:"不能重複"是指不能有兩行長的一樣嗎? 11/18 22:55
smvenjoy:恩恩,對阿,就是每一行的排列組合不能重複 11/18 23:03
ericinttu:permutation 11/18 23:03
mepass:這不就是2進位嗎 11/18 23:03
smvenjoy:可以請問一下要如何有效率的打出來嗎,謝謝,因為我慢慢設 11/18 23:04
smvenjoy:值的話要設256行= = 11/18 23:04
mepass:把0~255分別轉成2進位 這樣會有8bit 11/18 23:07
mepass:再把這8bit分別填入8列的同一行 11/18 23:08
mepass:接著把二進位的0統統變成-1 應該就可以了吧 11/18 23:09
smvenjoy:我試看看,謝謝各位 11/18 23:30
tonyhsie:跟mepass想的一樣 XD 11/18 23:36
ilway25:小想法 也許可以用lfsr比較快? 11/19 00:57
ilway25:Sorry 搞錯了.. 11/19 01:47
bigpigbigpig:i=0:255,以二進位表示,各bit若為0→-1,若為1→+1 11/19 09:43