Re: [非關] 有請演算法獵人
※ 引述《imitatefish (宅魚||雜魚)》之銘言:
: 00 01 04 05 16 17 20 21
: 02 03 06 07 18 19 22 23
: 08 09 12 13 24 25 28 29
: 10 11 14 15 26 27 30 31
: 32 33 36 37 48 49 52 53
: 34 35 38 39 50 51 54 55
: 40 41 44 45 56 57 60 61
: 42 43 46 47 58 59 62 63
: 8x8的陣列內容是長這樣
: 我如果要任意框一個4x4出來
: 例如
: 03 06 07 18
: 09 12 13 24
: 11 14 15 26
: 33 36 37 48
: 知道03 要產生出一組pattern
: 有沒有簡單的演算法可以找出來??
訂左上座標為(0,0),右上為(0,7)。
令x=a*4^2+b*4+c,給定x求(a,b,c)
例x=3,則得(0,0,3)。
將(0,0,3)分解為:
(0,0,1)(0,0,1)(0,0,1)三組數以二進位取值得1,1,1
坐標軸(x, y)為(1+1-1, 2nd),即(1,1)
求往右3格,巡x軸,此軸為:
(0,0,2)
(0,0,3) => (1,1)
(0,1,2) .
(0,1,3) .
(1,0,2) => (1,4) => 由(1,0,2)算出16+2=18
(1,0,3)
(1,1,2)
(1,1,3)
求往下3格,巡Y軸:
(0,0,1)
(0,0,3) => (1,2)
(0,2,1) .
(0,2,3) .
(2,0,1) => (4,2) => 2*16+1=33
(2,0,3)
(2,2,1)
(2,2,3)
怎麼出來的,嗯...就醬出來的啊~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.219.178.195
推
03/27 17:16, , 1F
03/27 17:16, 1F
→
03/27 17:17, , 2F
03/27 17:17, 2F
→
03/27 17:19, , 3F
03/27 17:19, 3F
→
03/27 17:20, , 4F
03/27 17:20, 4F
※ 編輯: HolyBugTw 來自: 61.219.178.195 (03/27 17:20)
→
03/27 17:22, , 5F
03/27 17:22, 5F
→
03/27 17:23, , 6F
03/27 17:23, 6F
→
03/27 17:23, , 7F
03/27 17:23, 7F
推
03/27 20:30, , 8F
03/27 20:30, 8F
(0,0,1)(0,0,1)(0,0,1)三組數以二進位取值得1,1,1
^ ^ ^(a,b,c)
坐標軸(x, y)為(a+b-c, b)
※ 編輯: HolyBugTw 來自: 61.219.178.195 (03/28 09:45)
推
03/29 01:58, , 9F
03/29 01:58, 9F
討論串 (同標題文章)