工人报酬算法,解出高分回报!(看起来简单,其实有点难哦)
一、已知:
1、数据库中有这样一张表
------------------------
符号 标准量 单品金额
> 50 5.5
------------------------
(1)符号:> , > =, <, <= 数学符号
(2)标准量:整数
(3)单品金额:工人每生产一个产品报酬
2、某工人某次生产了X个产品
二、求:该工人应该获得多少报酬?
三、例如:工人某次生产了x个产品,基本单品报酬为:3.5
(例子1) x = 105
------------------------
符号 标准量 单品金额
> = 45 3.6
> 100 3.8
------------------------
因为, 105 = 45 + 55 + 5
那么该工人的报酬为:45*3.5 + 55*3.6 + 5*3.8
(例子2) x = 66
------------------------
符号 标准量 单品金额
< 10 3.5
< 30 3.8
> = 30 4.0
------------------------
因为, 66 = 9 + 20 + 37
那么该工人的报酬为:9*3.5 + 20*3.8 + 37*4.0
(例子3) x = 80
------------------------
符号 标准量 单品金额
<= 60 5
> 60 6
------------------------
因为, 80 = 60 + 20
那么该工人的报酬为:60*5 + 20*6
四、求算法实现
(1)判断单价设定区间是否正确。如:下面的区间冲突了,不正确
------------------------
符号 标准量 单品金额
> = 60 5
< 100 6
------------------------
(2)将产量数据计算报酬金额
五、如果你有答案,请回复,或发邮件给我(xmpilot@163.com),谢谢!
[解决办法]
这么复杂啊,帮顶
[解决办法]
这样看来还是跟自来水中的定额用水有一定差别....
你参考一下自来水中的定额用水计算方法:
比如这个是一个用户的用水分配情况:
yhbh sbbh yslx sjbm bl(比例) de(定额) memo
1020003001居民生活用水001.000.0NULL
1020003001特种用水 005.0030.0多类用水
1020003001营业与基建004.0030.0多类用水
1020003001事业单位 003.005.0多类用水
那这个表就跟你的这个表是一样的作用:
------------------------ 你这个表应该还有一个字段跟产品资料关联的吧?
符号 标准量 单品金额
< 10 3.5
< 30 3.8
> = 30 4.0
------------------------
我在计算水费时这样判断.比你的还要更复杂,呵呵.就不说了,
你在取得总数量(sl)时,在对上面这个表循环取记录,通过符号来判断具体用到第一条记录上计算的数量(sl1)要是多少,就可以计算出第一条记录的报酬,再用总数量减去第一次判断出来的数量(sl1),这样循环下去,..直到剩余数量为0时就可以不用再循环了....