比如:
有一组数10个,数值从1到10随机出现
现在给出一个数为5,要求从这组数里面取出4个数,他们的平均值是5
可能出现的现象:
1、有符合要求的4个数
2、无符合要求的4个数,此时给出最接近的
该如何算呢?
1、穷举出所有数的组合,然后算出平均数?那如果数多了怎么办?
2、有现成的算法?
我大概想了一种方式,楼主可以试一下。你现在是要计算 一个集合里面的数,4个的和为20,或者最接最20.
整数从最小的开始选起走,1,2,3,4 (4还不行,那么5,...一直到能组成20,如果不行)再把3变成4,后面继续找,直到找到,这样可能比上面那种穷举性能要高一些。你主要是找到有就行了,不一定要全不列出来完吧。
我今天又和客户了解了一下,发现我想错了,不是这个问题,要比这个复杂得多,先结贴吧
C(4/10) = 210 种,从10 个数种任选4个。然后你再算出每一个的平均值,比较一下。
意思还是要穷举法,算出每个可能组合的平均值,进行比对?
@snowsky: 是的,反正数据量不大。