读书人

高手请教这是个什么有关问题

发布时间: 2012-02-21 16:26:23 作者: rapoo

高手请问这是个什么问题?
有6个数字x1=11.2,x2=12.3,x3=15.1,x4=16,x5=19.98,x6=20.4
求一个合为100的6个数P1,P2,...P6,使得P1*x1,P2*x2,....P6*x6中大余100的个数最多。
这究竟是个什么问题,应该用什么算法?高手指点加70分!

[解决办法]
贪婪算法就可以.
将x1=11.2,x2=12.3,x3=15.1,x4=16,x5=19.98,x6=20.4从大到小排序.
然后从最大的开始算pi=100/xi,知道pi的和大于100.
[解决办法]
也是贪心阿,

先排序,

在保证后面p正整数的前提下,先找最小的p1让p1*最大x大于100,再找第二大x大于100,一直下去啊

读书人网 >软件架构设计

热点推荐