悬赏 5 个论坛币 已解决
请教数学高手解决如下问题:下面有200个数(随机产生的,已从大到小排列),需要找出其中5个(不同的)的数字,使得5数之和最接近530。
我根据我的算法找出了5个数字,这5数之和离530差了约4.7*(10^-6),你还能找到的之和更加接近530的5个数吗?
如果能,就请写出这5个数来。
161.3622858, 160.2155618, 148.0021103, 146.8719759, 146.1176848, 145.690492, 140.9700831, 135.1436651, 131.7658209, 130.389619, 129.2023662, 127.1876542, 126.5033188, 126.0900349, 125.8752387, 124.9504122, 124.5434113, 123.9519427, 123.4424951, 122.7674117, 122.7504902, 121.5626969, 120.7293649, 120.3218903, 119.9336673, 119.303754, 119.0067623, 118.946703, 118.836524, 118.8177829, 118.6953142, 118.6952824, 117.8497722, 117.6997504, 117.1555819, 116.9734864, 116.8892664, 116.8329978, 116.8276248, 116.573036, 116.2670207, 115.9222829, 115.4525267, 114.6577516, 114.4788326, 114.2420165, 114.2115352, 113.6626565, 113.1169308, 112.7466622, 112.4836217, 112.3512695, 112.2801731, 112.0046534, 111.8419694, 111.7820833, 111.7185165, 111.2211325, 109.9562633, 109.949648, 109.50965, 109.4771511, 109.2348244, 109.1184979, 109.0315631, 108.589714, 108.1947623, 108.1881058, 108.0178995, 107.9941487, 107.8328129, 107.1889389, 106.9489668, 106.4110376, 105.5987638, 105.5703237, 105.2918814, 105.2828031, 105.1239786, 105.0590601, 105.0109291, 103.7511748, 103.545311, 103.534894, 102.9971155, 102.1262748, 101.8808001, 101.6467082, 101.6300868, 101.5982652, 101.2028824, 101.1578048, 100.8201753, 100.7676969, 100.4100553, 100.1845545, 100.0810241, 99.52784253, 99.44831182, 99.40190471, 98.77421615, 98.64590272, 98.59897256, 98.57792737, 98.49710669, 98.44941963, 98.41003379, 98.01156628, 97.84252984, 97.53701074, 97.45628312, 97.41843326, 97.36515094, 96.95955339, 96.79986032, 96.04315364, 95.90149068, 95.7530699, 95.66958973, 95.30379477, 94.94144562, 94.79429344, 94.78392089, 94.76159624, 94.75593509, 94.59652172, 94.32993136, 94.21014037, 94.10293446, 93.8996947, 92.8485989, 92.75182497, 92.66314576, 92.65834018, 92.46345198, 92.03972976, 91.97142974, 91.9238227, 91.70706962, 91.66119648, 91.52866525, 91.48994325, 90.50848166, 90.33284784, 89.9819096, 89.72059125, 89.71808359, 89.32517879, 88.99392499, 88.7860723, 88.43803852, 87.1444309, 86.96470376, 86.59725011, 86.40152297, 86.2568344, 85.93492858, 85.53449023, 84.83081045, 84.32047761, 84.1642546, 83.95728057, 83.39754493, 83.08918104, 82.65175285, 82.39025752, 82.37661785, 82.19204217, 81.84352525, 81.63458993, 81.51378897, 81.26326057, 81.12468855, 80.59162543, 79.63017182, 79.44418955, 79.22136783, 78.50718265, 78.16486907, 77.59172695, 77.08563622, 74.3863406, 72.50363611, 71.94785343, 70.50369801, 70.48379632, 70.23784242, 70.22504641, 68.47700166, 68.15594434, 66.91903167, 65.69019469, 65.49684497, 65.12383679, 64.13564163, 63.45580298, 62.52158409, 53.86005248, 38.73177728, 37.73385676
最佳答案
liucg9999 查看完整内容
简单的五层嵌套循环,蛮力计算就搞定了!这是非多项式可解决的问题,没有可行的算法!根据蛮力计算的结果,你的算法计算结果是不对的!
例如:第0,28,143,152,182项的和如下:
2.4900000425986946e-06
就比你的计算结果更接近530了。
另外,数据是否排序对计算没有多大帮助。
最终的计算结果:
delta=1.99999e-08
i,j,k,l,m = 42,55,114,48,130
即第43,56,115,49,131项的和与530的距离最近为1.99999e-8.
...