- 主题:问个数学问题 (转载)
我是按自己定的那个策略搞的,另外一种策略那就是另外的结果
【 在 iMx 的大作中提到: 】
: 标 题: Re: 问个数学问题 (转载)
: 发信站: 水木社区 (Thu Sep 29 12:34:47 2022), 站内
:
: 第一个,从8减,不从21减,这是要搞事情啊
:
:
: 【 在 No1 的大作中提到: 】
: : 标 题: Re: 问个数学问题 (转载)
: : 发信站: 水木社区 (Thu Sep 29 12:25:42 2022), 站内
: :
: : 如果按这个策略,我算了几组例子(程序很简单我就不贴了):
: :
: : 销售额: (832 811 463 298 869 635 65)
: : 初步分: (21 20 12 8 22 16 2) 101
: : 调整后: (21 20 12 7 22 16 2) 100
: :
: : 销售额: (513 254 269 179 714 477 637)
: : 初步分: (17 8 9 6 23 16 21) 100
: : 调整后: (17 8 9 6 23 16 21) 100
: :
: : 销售额: (355 900 757 950 350 261 990)
: : 初步分: (8 20 17 21 8 6 22) 102
: : 调整后: (8 20 16 21 7 6 22) 100
: :
: : 销售额: (657 250 97 272 816 855 66)
: : 初步分: (22 8 3 9 27 28 2) 99
: : 调整后: (22 8 3 9 27 29 2) 100
: :
: : 销售额: (709 306 268 810 911 995 911)
: : 初步分: (14 6 5 16 19 20 19) 99
: : 调整后: (14 6 5 17 19 20 19) 100
: :
: : 销售额: (807 628 243 191 208 256 883)
: : 初步分: (25 20 8 6 6 8 27) 100
: : 调整后: (25 20 8 6 6 8 27) 100
: :
: : 销售额: (882 319 517 106 854 350 502)
: : 初步分: (25 9 15 3 24 10 14) 100
: : 调整后: (25 9 15 3 24 10 14) 100
: :
: : 销售额: (577 188 11 389 391 852 568)
: : 初步分: (19 6 0 13 13 29 19) 99
: : 调整后: (20 6 0 13 13 29 19) 100
: :
: : 销售额: (569 447 37 977 632 227 34)
: : 初步分: (19 15 1 33 22 8 1) 99
: : 调整后: (20 15 1 33 22 8 1) 100
: :
: : 销售额: (832 633 901 941 922 338 225)
: : 初步分: (17 13 19 20 19 7 5) 100
: : 调整后: (17 13 19 20 19 7 5) 100
: :
: :
: : 【 在 No1 的大作中提到: 】
: : : 标 题: Re: 问个数学问题 (转载)
: : : 发信站: 水木社区 (Thu Sep 29 11:38:08 2022), 站内
: : :
: : : 你这个最接近看怎么定义
: : :
: : : 要不就定个策略:
: : : - 如果和是(100+n)w,则大于但最靠近0.5的那几个人就少得1w(有相同的随机抽);
: : : - 如果和是(100-n)w,则小于但最靠近0.5的那几个人就多得1w(有相同的随机抽);
: : : - 如果和是100w,则不用调整;
: : :
: : : 但我要说的是:
: : : 如果真是分奖金,大概其算一个,最后哪一个人多一点少一点,必须老板说了算,这不是数学问题,是人事问题。
: : :
: : : 【 在 qlogic 的大作中提到: 】
: : : : 标 题: Re: 问个数学问题 (转载)
: : : : 发信站: 水木社区 (Thu Sep 29 11:04:16 2022), 站内
: : : :
: : : : 背景:
: : : :
: : : : 比如 一个产品n个销售分别买了a1/a2../an,现在有100w奖金给他们分,如果用a1/S的比
: : : : 例,那么因为精度的问题,会产生最后分的钱不等于100w
: : : : 所以先按照100的比例取整来分钱
: : : :
: : : : 【 在 qlogic 的大作中提到: 】
: : : : : 【 以下文字转载自 PreUnivEdu 讨论区 】
: : : : : 发信人: qlogic (戒网了), 信区: PreUnivEdu
: : : : : 标 题: 问个数学问题
: : : : : ...................
: : : :
: : : : --
: : : :
: : : : ※ 来源:·水木社区 mysmth.net·[FROM: 221.232.128.*]
: : :
: : : --
: : :
: : : ※ 修改:·No1 于 Sep 29 12:04:52 2022 修改本文·[FROM: 106.121.185.*]
: : : ※ 来源:·水木社区 mysmth.net·[FROM: 106.121.185.*]
: :
: : --
: :
: : ※ 来源:·水木社区 mysmth.net·[FROM: 106.121.185.*]
:
: --
: 英国Northumbria 大学的专家调查了女人和男人人高跟鞋的反应。结果发现,如果一个
: MM 在走路(运动、或者跳舞),男生一般不会去注意,也分不出来对方是否有穿高跟鞋
: 。
: 同时调查还发现,男性最high 的点,是在女性穿上高跟鞋摆出各种性感姿势的时候(例
: 如亮出长腿、斜躺在地上,突出翘臀等等)。
:
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 121.33.160.*]
--
修改:No1 FROM 106.121.185.*
FROM 106.121.185.*
这可不是一个函数,这是整数规划问题。
【 在 qlogic 的大作中提到: 】
: 【 以下文字转载自 PreUnivEdu 讨论区 】
: 发信人: qlogic (戒网了), 信区: PreUnivEdu
: 标 题: 问个数学问题
: 发信站: 水木社区 (Thu Sep 29 10:58:00 2022), 站内
:
: a1,a2...an n个整数,
: ..................
发自「今日水木 on 钛星」
--
FROM 114.255.33.*
赞这个回复
我想到了整数规划,但我不知道用什么来解……
【 在 ble 的大作中提到: 】
: 这可不是一个函数,这是整数规划问题。
: 发自「今日水木 on 钛星」
--
FROM 117.152.202.*
按误差和实际值的方差最小为优化目标,定义一个整数规划,然后matlab求一下就行。如果你需要函数的话,可以尝试写一个m文件,直接调用matlab的整数规划求解器。
【 在 qlogic 的大作中提到: 】
: 【 以下文字转载自 PreUnivEdu 讨论区 】
: 发信人: qlogic (戒网了), 信区: PreUnivEdu
: 标 题: 问个数学问题
: 发信站: 水木社区 (Thu Sep 29 10:58:00 2022), 站内
:
: a1,a2...an n个整数,
: ..................
发自「今日水木 on 钛星」
--
FROM 114.255.33.*
线性优化问题,
200块,我给你写个python脚本,
【 在 qlogic 的大作中提到: 】
: 发信人: qlogic (戒网了), 信区: PreUnivEdu
: 标 题: 问个数学问题
: 发信站: 水木社区 (Thu Sep 29 10:58:00 2022), 站内
: ...................
--
FROM 36.110.197.*
你看这样可好,列一个方程,求x:
取整(100.0*a1/S+x) + 取整(100.0*a2/S+x) + ... = 100
x取值: 0<x<1.0
当然,某些情况下会无解
【 在 qlogic 的大作中提到: 】
: 背景:
: 比如 一个产品n个销售分别买了a1/a2../an,现在有100w奖金给他们分,如果用a1/S的比
: 例,那么因为精度的问题,会产生最后分的钱不等于100w
: ...................
--
FROM 58.30.9.157
看完有个想法,没有验证,但感觉可行
1. a1, a2 ... an 这些数,对每个数都可以求出一个 pair
(f, N), f 是 100*a/S 的小数部分,N 是100*a/S 的整数部分
2. 将这些 N1, N2, ... Nn 加起来得到 SN, 则我们需要分配的
剩余数是 100 - SN
3. 将这些 pair 按从大到小排序(以 f 为优先),取前 100 - SN
个,对其中的每一个 pair 的整数部分都加1
4. 取出所有的 pair 中的整数,这似乎就是满足条件的最接近的
整数数组。
【 在 qlogic 的大作中提到: 】
: 【 以下文字转载自 PreUnivEdu 讨论区 】
: 发信人: qlogic (戒网了), 信区: PreUnivEdu
: 标 题: 问个数学问题
: 发信站: 水木社区 (Thu Sep 29 10:58:00 2022), 站内
: a1,a2...an n个整数,和为S
: 要求给出
: 100*a1/S , 100*a2/S..... 100*an/S
: 最接近的整数数组
: b1,b2,...bn
: 且b1+b2+..bn=100
: 实际上就是精度调整。
: 最好是给个函数f(x),而不是 bn=100-b1-b2...
--
FROM 14.203.49.*
如果全都公平,这个也有可能是无解的吧
比如3个人,每个人销售额都是10, 10, 10, 也就是三人销售额相等,那么100万奖金无论如何也没法公平分给3个人,必须要有人按照设定的优先级或者随机的优先级拿大头(多拿点。不公平的方法),才能凑满100%。
33 + 33 + 34 = 100
所以,第一步,判断1能不能被S除尽(S分之一是不是个有限小数。S只包含因子2、5时才是)。不能除尽的话,要搞优先级(有人多拿点,把除不尽的那点拿走)。
能除尽的话,而且奖金总额中10的幂次数大于等于1/S的有效小数位数的话,是可以做到0误差的。
1/S = 0.b1b2...bi = b1b2...bi * 10^(-i),
奖金总额 M = c1c2...cj * 10^m,
an/S * M = an * b1b2...bi * 10^(-i) * c1c2...cj * 10^m = an * b1b2...bi * c1c2...cj * 10^(m - i)
m >= i时,上面这个一定是个整数。
--
修改:z16166 FROM 221.220.168.*
FROM 221.220.168.*
会计经常干这个。不太是个数学问题。
我知道他们的搞法是先取地板,之后看剩下多少,优先把剩下的分给小数点高的。
【 在 qlogic 的大作中提到: 】
: 发信人: qlogic (戒网了), 信区: PreUnivEdu
: 标 题: 问个数学问题
: 发信站: 水木社区 (Thu Sep 29 10:58:00 2022), 站内
: ...................
--
FROM 129.15.66.*
更公平的是让 (a1/S) * 奖金总额、(a2/S) * 奖金总额、(a3/S) * 奖金总额 ... 靠近整数。
如果只是让百分比靠近整数,误差其实更大。
【 在 qlogic 的大作中提到: 】
: 背景:
: 比如 一个产品n个销售分别买了a1/a2../an,现在有100w奖金给他们分,如果用a1/S的比
: 例,那么因为精度的问题,会产生最后分的钱不等于100w
: ...................
--
修改:z16166 FROM 221.220.168.*
FROM 221.220.168.*