你应该给点分数吧……
只给你点思路,首先先用一个随机random函数提取一组个数据,然后循环选出比22(也假设结果是22)小是数,然后再从这几个数中排序选出最大值和最小值,与22比较两者之和,如果比22大就接着用第二大和大二小是两个数相加与22比较。若果小则再加上第二小的那个数之后再比较。方法依次类推。
给的分太少了,需要一定的时间
一个想法:首先对数组进行排序
然后判断几个数(最大的一个数与给的结果比 最大的两个数的和与给的结果比……知道所有数相加 还要判断最小的和结果比) 确定需要几个数
假设有解 我们已经求出来几个数了 然后遍历吧
另一个想法:求的满足条件的差最小的两个数 然后可以分解其中一个 判断另一个加上分解的部分还在不在数组里……
暂时就想了这么多
嗯,给分太少了