任意类似数组: (1,1.2,2,1,6,3,8,1.8,1.8,8,3,77,55,2,7,1,8,9)  此数组成员个数不确定.从上面的数组中随意取不同的N个成员相加, 相加结果等于指定值V比如,取5个成员相加,如果等于指定值21,则返回这5个成员的值和对应在数组中的位置
希望高手解决一下.谢谢

解决方案 »

  1.   

    计算机数学重要的方法之一就是“遍历+测试”。比较笨的方法,就是尝试计算所有的组合,找到一个满足条件的就退出。
      

  2.   

    麻烦 of123 给写一下,谢谢了
      

  3.   

    给你一个基础思路,不表示建议你这样做。你提出的问题,属于计算机数学难题之一:“背包问题”。遍历虽然可解(结果有可能是无解),但效率很低。而提高效率的方法设计,与你数组大小,元素状态,以及你的 N 的大小都有关。如果你需要高效的算法,建议你看一些这方面的书。