SQL面试题——奖金瓜分问题

打印 上一主题 下一主题

主题 799|帖子 799|积分 2397

奖金瓜分问题

在活动大促中,有玩游戏瓜分奖金环节。现有奖金池为 10000元,代表奖金池中的初始额度。用户的分数信息如下表。表中的数据代表每一个用户和其对应的得分,user_id 不会有重复值。瓜分奖金的规则如下:按照 score 从高到低依次瓜分,每个人都能分走当前奖金池内里剩余奖金的一半,当奖金池内里剩余的奖金少于 250 时(不含),则停止瓜分奖金。 现在需要查询出所有分到奖金的 user_id 和其对应的奖金。
  1. +-------+-----+
  2. |user_id|score|
  3. +-------+-----+
  4. |    100|   60|
  5. |    101|   45|
  6. |    102|   45|
  7. |    103|   35|
  8. |    104|   30|
  9. |    105|   25|
  10. |    106|   15|
  11. |    107|   10|
  12. +-------+-----+
复制代码
分析

该题目相对简单,给用户根据score举行排名,然后依次给出金额即可。难点是怎样计算瓜分金额、怎样计算奖池余额。
我们看到每次都是之前的1/2,其实很明显是一个等比数列,或者我们可以这么理解每个用户都有一个获取奖金的除数,第一个人的除数是2,第二个人的除数是4,以此类推,由于被除数是不

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

汕尾海湾

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表