Comment detail

議席数をドント方式で (Nested Flatten)
Squeak Smalltalk で。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
| 政党名 獲得票数 割った数 定数 議席 |
定数 := 100.
政党名 := #(A党 B党 C党 D党).
獲得票数 := #(123 4 56 78).
割った数 := OrderedCollection new.
(1 to: 獲得票数 max / (獲得票数 min / (定数 / 獲得票数 size))) do: [:割る数 |
   割った数 addAll: (獲得票数 / 割る数 with: 政党名 collect: [:票 :名 | 票 -> 名])].
議席 := 割った数 asSortedArray last: 定数.
^(議席 collect: [:assoc | assoc value]) asBag sortedElements asArray

"=> {#A党->48 . #B党->1 . #C党->21 . #D党->30}"

Index

Feed

Other

Link

Pathtraq

loading...