高手请问这是个什么问题?
有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,一直下去啊