查找等于给定总和的正数和负数的所有可能组合

问题描述 投票:-1回答:1

如果想以多种方式组合从1到N的数字,结果会怎样,通过使用加法或减法,您将得到等于给定目标数字的组合。

关于此主题Finding all possible combinations of numbers to reach a given sum,我无法以可以达到预期效果的方式对其进行修改,所以我决定去询问。

示例:(让我们说N =8。如果我创建以下从1到N的数组,如何解决这个问题。请不要重复使用每个数字。)

  • arr = [1、2、3、4、5、6、7、8]
  • sum = 0;

结果:

  • + 1 +2 +3 +4 -5 -6 -7 +8
  • + 1 +2 +3 -4 +5 -6 +7 -8
  • + 1 +2 -3 +4 +5 +6 -7 -8
  • + 1 +2 -3 -4 -5 -6 +7 +8
  • + 1 -2 +3 -4 -5 +6 -7 +8
  • + 1 -2 -3 +4 +5 -6 -7 +8
  • + 1 -2 -3 +4 -5 +6 +7 -8
  • -1 +2 +3 -4 +5 -6 -7 +8
  • -1 +2 +3 -4 -5 +6 +7 -8
  • -1 +2 -3 +4 +5 -6 +7 -8
  • -1 -2 +3 +4 +5 +6 -7 -8
  • -1 -2 +3 -4 -5 -6 +7 +8
  • -1 -2 -3 +4 -5 +6 -7 +8
  • -1 -2 -3 -4 +5 +6 +7 -8
  • 总解决方案:14
c#
1个回答
0
投票

据我所知,您需要一个for循环,因为如果您有一个数字n,则存在无限数量的数字组合,这些数字相加或相减等于n这是我要走的路:

© www.soinside.com 2019 - 2024. All rights reserved.