[問題] 一個分配的問題= =
最近遇到一個分配的問題,本來以為很簡單,事實上應該也是很簡單
但我想了好久= =,最後是有想出來,覺得很有趣,給大家參考
問題:
假設原本有32個值,分給5個陣列,因為沒辨法整除,因此採取以下做法
32/5=6 餘 2
所以每個陣列的大小分別給他7, 7, 6, 6, 6
也就是說,多出來的平均分配給前面的陣列,所以後面的陣列比較小
而且一定要前面的值分給前面的陣列,不是像發牌那種分法
那要怎麼把原本32個值對應到每個陣列
也就是說
原值索引 -> 目的陣列索引
0 -> 0
.
.
6 -> 0
以此類推
7 -> 1
13 -> 1
14 -> 2
19 -> 2
20 -> 3
25 -> 3
26 -> 4
31 -> 4
當我們得到一個「原值索引」也知道6餘2,要怎麼以簡單判斷和計算式,
也就是不需由0開始算,要怎麼求得「目的陣列索引」?
上面只是舉例,當然有可能是整除或餘3餘4等等...
剛因為舉的例子不好,故重貼
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.136.147.164
推
05/25 23:42, , 1F
05/25 23:42, 1F
討論串 (同標題文章)