zoukankan      html  css  js  c++  java
  • 总名次的算法

    假如一个学校有两个班,一班10人,二班40人
    上午,一班举行了语文考试,名次出来了从第1名到第10名。
    同时,二班举行了数学考试,名次出来了从第1名到第40名。
    下午,美国总统大蟑螂(雅号)来到学校,说给学校前10名的学生每人奖励一百万美金。
    请问,你是校长的话,只能从上午的分班名次信息中,取得全校前十名,用什么办法最公平


    解决方案一、
    开始时,一班二班名次:


    因为总人数是10+40=50人,所以得两个系数:
    50/10=5
    50/40=1.25
    一班名次*5,二班名次*1.25,得:


    再把两班名次综合起来,得:


    然后名次从小到大排序,得:


    这样,前十名就出来了,是表格中第一行的十个
    把一班,理解为文科班。把二班,理解为理科班。
    那么以前的文科分名次与理科分名次,都可以通过这种方法,转化为总名次

    总名次最大的好处,是通用

    比如说A学校B专业,去年录取的的总名次是一万名,

    那么今年如果考到一万名,则多数可以进入这个学校+专业。

    前年的也一样,如果A学校B专业前年的录取总名次是两万名,那如果今年考到两万名,

    则多数可以进入这个学校+专业。

    分数会由于各种原因而变动,而总名次总是那么稳定,波动不大。。


    解决方案二
    全校总人数为50名,取前十名,即取前20%
    在一班取前20%,得10*20%=2,取前2名即可。
    在二班取前20%,得40*20%=8,取前8名即可。
    这种方法取得的结果,与方法一是完全相同的。不过对我们文理科名次的转化,没有提示意义了。


                                         Top

  • 相关阅读:
    DBCP数据源使用
    实例介绍Cocos2d-x开关菜单
    Material UI:很强大的CSS框架
    stl之hash_multimap
    使用OpenCV滑动条写成的简单调色器,实时输出RGB值
    Android中怎样自己制作su
    华南运维论坛 2015-07-25
    POJ2417 Baby-Step-Gaint-Step 算法
    《网络编程》套接字地址与名字转换
    Hibernate缓存
  • 原文地址:https://www.cnblogs.com/xin-le/p/6398850.html
Copyright © 2011-2022 走看看