免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4832 | 回复: 16
打印 上一主题 下一主题

100张人民币, 分给7个人, 怎么分才能让大家拿到的钱最平均? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-22 17:33 |只看该作者 |正序浏览
如题

有什么算法?

论坛徽章:
0
17 [报告]
发表于 2007-12-10 12:33 |只看该作者
原帖由 caualex 于 2007-9-22 17:33 发表
如题

有什么算法?


每人10张,剩下30张拿去买瓜子让7个人分了吃了

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
16 [报告]
发表于 2007-12-10 10:37 |只看该作者
现已单独立题。

[ 本帖最后由 zongyaotang 于 2007-12-11 07:13 编辑 ]

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
15 [报告]
发表于 2007-09-25 14:10 |只看该作者
设立7个累加器的数组.
大于当前平均数的面额与人数要排除.
余下的人和钱求平均数
面额排序
从大的开始取
发的次序从 1~n, n~1, 1~n ...
加上当前面额大于平均数的要跳过,
最后发不下去的,按最大面额给最小累加值的原则给.

论坛徽章:
0
14 [报告]
发表于 2007-09-24 14:52 |只看该作者
将7个人编号: 1, 2, 3, 4, 5, 6, 7.  
钱每次分一张, 分时取1 ~ 8 之间的随机数, 记为n. 如果 n = 1 给第一个人; n = 2 给第2个人;  依此类推。
如果 n = 8 给钱最少的人.
直到分完

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
13 [报告]
发表于 2007-09-24 14:27 |只看该作者
计算平均值,选出大于平均值的单张,只能给单人.
余下的人与币再计算平均值,选出大于平均值的单张
直到没有大于平均值的单张.

剩下的人和钱:

* 按大小排序
* 从大值开始取
* 依次发给1~最大
* 再从最大~1
* 再从1~最大
* 跳过再加一张就大于剩下平均值的项
* 如此重复
* 直到都是加一张就大于剩下平均值
* 如果还有剩下
* 计算一下发给最小的那几个,把大面额给最小的

当然不直接发到目标,算完再发.

[ 本帖最后由 zongyaotang 于 2007-9-25 13:30 编辑 ]
yyzz913 该用户已被删除
12 [报告]
发表于 2007-09-24 12:51 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
11 [报告]
发表于 2007-09-24 11:18 |只看该作者
背包啊

论坛徽章:
0
10 [报告]
发表于 2007-09-24 11:08 |只看该作者
原帖由 gmhcoki 于 2007-9-24 02:39 发表
是不是要用纯c语言来体现啊?



面值随机,  算法怎么实现?

用c或者伪代码都可以

论坛徽章:
0
9 [报告]
发表于 2007-09-24 02:39 |只看该作者
是不是要用纯c语言来体现啊?
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP