分配宿舍委员会解法
来源:互联网 发布:linux rmdir 编辑:程序博客网 时间:2024/05/04 08:48
学校共有1000名学生,235人住在A宿舍,333人住在B宿舍,432人住在C宿舍。学生们要组织一个10人的委员会,试用下列方法分配各宿舍的委员数:
(1) 按比例分配取整数的名额后,剩下的名额按惯例分给小数部分较大者。
A:235 *0.01 = 2.35
B:333 *0.01 = 3.33
C:432 *0.01 = 4.32
由以上可知:A宿舍分配3个人,B宿舍分配3个人,C宿舍分配4个人。
(2) 课件中的Q值法。
分配第i个名额
A宿舍
B宿舍
C宿舍
QA
名额数
QB
名额数
QC
名额数
4
30080
1
55444.5
1
93312
1+1=2
5
30080
1
55444.5
1+1=2
31104
2
6
30080
1
18481.5
2
31104
2+1=3
7
30080
1+1=2
18481.5
2
15552
3
8
9204.17
2
18481.5
2+1=3
15552
3
9
9204.17
2
9240.75
3
15552
3+1=4
10
9204.17
2
9240.75
3
9331.2
4+1=5
由以上可知:A宿舍分配2个人,B宿舍分配3个人,C宿舍分配5个人。
(3) d’Hondt方法:将A,B,C各宿舍的人数用正整数n=1,2,3,…相除,其商数如下表:
1 2 3 4 5
A
B
C
235 117.5 78.3 58.75 …
333 166.5 111 83.25 …
432 216 144 108 86.4
将所得商数从大到小取前10个(10为席位数),在数字下标以横线,表中A,B,C行有横线的数分别为2,3,5,这就是3个宿舍分配的席位。
你能解释这种方法的道理吗?
用各宿舍人数同除以1,2,3…..而取其商较大的,商较大则说明其被除数越大,则说明该数在总共和里面所占有的比例较大。该方法和比例方法类似,但克服了比例方法中因小数变动而引起的名额不规则变动。,但是在各部门每个席位所代表的人数不相等的情况下,对席位代表的平均人数值较大的一方来说存在着不公平,而且D’Hond~方法不能衡量“不公平” 的大小。
如果委员会从10人增加至15人,用以上3种方法再分配名额。
I.按比例分配:
A: = 3.525; B: = 4.995; C: = 6.48;
即A宿舍分配4个名额,B宿舍分配5个名额,C宿舍分配6个名额。
II.按Q值法分配:
分配第i个名额
A
B
C
QA
名额数
QB
名额数
QC
名额数
11
9204.17
2
9240.75
3+1=4
6220.8
5
12
9204.17
2+1=3
5544.45
4
6220.8
5
13
4602.1
3
5544.45
4
6220.8
5+1=6
14
4602.1
3
5544.45
4+1=5
4444.3
6
15
4602.1
3+1=4
3696.3
5
4444.3
6
即A宿舍分配4个名额,B宿舍分配5个名额,C宿舍分配6个名额。
III.按d’Hondt方法分配:
1
2
3
4
5
6
7
A宿舍
235
117.5
78.3
58.75
47
39.2
33.57
B宿舍
333
166.5
111
83.25
66.6
55.5
47.57
C宿舍
432
216
144
108
86.4
72
61.71
即A宿舍分配3个名额,B宿舍分配5个名额,C宿舍分配7个名额。
将3种方法两次分配的结果列表比较。
10人
15人
A
B
C
A
B
C
按照惯例
3
3
4
4
5
6
Q值法
2
3
5
4
5
6
d’Hondt
2
3
5
3
5
7
(4) 你能提出其它的方法吗?用你自己提出的方法分配上面的名额。
将D’Hondt法和Q值法二者结合起来,确定分配资格以解决“不公平”问题
具体方法如下:
1)第1个名额给人数最多的部门,设为甲部门。
2)根据D’Hondt法中的P/i值依次确定第2,3,…个名额的分配资格部门,直到已有2个部门有分配资格为止,并且有一个部门只有一个名额,设甲乙部门已具备分配资格。
3)下面每增加一个名额,则重复如下步骤,直至丙部门具有分配资格为止。设 >。
a)如果 > > ,则丙具备分配资格。
a)如果 > > ,则丙仍不具备分配资格;甲、乙运用Q值法,确定这一名额给甲还是给乙。
b)如果 > > ,且甲部门的Q值比乙部门的Q值大。这一名额都该给甲。
c)如果 > > ,且乙部门的Q值比甲部门的Q值大,这一名额给丙。
(m、n分别为已分给甲、乙的名额数)
4)当丙部门也具备分配资格时,余下名额则按Q值法分配。
首先给C宿舍分配一个名额。根据下表:
1 2 3 4 5
A
B
C
235 117.5 78.3 58.75 …
333 166.5 111 83.25 …
432 216 144 108 86.4
C、B各自再分得一个名额。即此时C有2个名额,B有1个名额,A没有名额。
PA > > ,则A分得一个名额,即此时C有2个名额,B有1个名额,A有1个名额。
分配第i个名额
A宿舍
B宿舍
C宿舍
QA
名额数
QB
名额数
QC
名额数
5
27612.5
1
55444.5
1+1=2
31104
2
6
27612.5
1
18481.5
2
31104
2+1=3
7
27612.5
1+1=2
18481.5
2
15552
3
8
9204.1667
2
18481.5
2+1=3
15552
3
9
9204.1667
2
9240.75
3
15552
3+1=4
10
9204.1667
2
9240.75
3
9331.2
4+1=5
即A宿舍分配2个名额,B宿舍分配3个名额,C宿舍分配5个名额。
利用该方法,如果有15人分配名额,在此题中同有10人分配名额过程差别就多了下表:
分配第i个名额
A宿舍
B宿舍
C宿舍
QA
名额数
QB
名额数
QC
名额数
11
9204.1667
2
9240.75
3+1=4
6220.8
5
12
9204.17
2+1=3
5544.45
4
6220.8
5
13
4602.1
3
5544.45
4
6220.8
5+1=6
14
4602.1
3
5544.45
4+1=5
4444.3
6
15
4602.1
3+1=4
3696.3
5
4444.3
6
- 分配宿舍委员会解法
- 宿舍分配
- 宿舍分配问题
- 初中宿舍分分配地址
- SQL存储过程分配宿舍实例
- 宿舍
- 关于宿舍卫生打扫分配工作的程序
- 大话宿舍
- 宿舍停水
- 宿舍聚餐
- 宿舍小聚
- 大学宿舍
- 搬宿舍
- 共享宿舍
- 董事会委员会的作用
- IEEE802工作委员会
- EEE 802委员会
- 变更控制委员会
- 14岁初中生—— 踏踏实实的人生也最美
- 为工具条添加文字
- sqlite3安装
- 赵雅智_java 网络编程(4)之URL
- Android调用别的应用程序
- 分配宿舍委员会解法
- 《二维数组的一种加法运算——JAVA第三周》
- 网络编程总结
- JBOSS7下配置程序为根路径
- Oracle11gR2 Aactive DataGuard(手动)安装部署及维护文档(一)之安装配置
- ubuntu 12默认编辑器vim tiny换成vim full版本
- 算法精解:C语言描述
- 一道月薪3万的Java面试题目
- .NetFramework 3.0 var的注意点