请教一个关于无序组合的算法问题

有两张表

表一

1310
2320
3330
4345

 

表二

1950
21000
31301

我想得到的结果

表一的无序组合等于或最接近表二的数,例如表一的345*2+310=表二的1000,表一的320*2+330*2最接近1301,表二的数用过就不能再用了,表一的数可以自由组合,没有次数限制

暴力遍历呗,把所有能想象出来的组合方式排列组合。如果表1的行数是不确定的,估计需要写个递归。而且这样做耗时肯定很多。