求一个新价格计算的算法
假如有如下销售合同:
序号数量(米)单价(元)合计(元)
12065.55.1410616.67
2169.637.431260.35
3329.029.753207.95
4125.7812.241539.55
5144.0816.742411.90
635.4419.15678.68
总计19715.09
以上为程序计算的正确的“合计”及“总计”金额。现假设:
因种种原因给客户一定优惠,最终以18000.00元成交。在“数量”不变的情况下,求“单价”如何浮动,才能满足各产品累加后最接近约等于18000的要求(因可能存在小数问题,最终的结果允许在一定范围内浮动,如18000±1等)
希望最终的“单价”是以比例调整的,如:第一行,合计销售10616.67元,与总计销售额19715.09的比值为:10616.67÷19715.09=0.5385=53.85%那么在调整单价的时候也是以接近53.85%这样的比例来调整。
新价格因开票需要,只允许两位小数,超出部分四舍五入。
以上方案该使用何种算法实现?本人初学编程不久,希望各位前辈不吝赐教,分不够再加,谢谢!
[解决办法]
把差价按比例分配,然后减回去就行了。最后留一到两项来作为调整项,凑总数即可
[解决办法]
呵呵,没搞明白这个问题里面用什么算法,不太清楚LZ的描述
接点分吧
[解决办法]
是不是:5.14 * 18000/19715.09