如何以各种可能的方式将X片分发给N个不同的东西?

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

对不起,我的英语不好。我的问题如下:我需要以各种可能的方式在N个事物之间分配X片段。假设X是5而N是2(但它也可以是其他任何东西,例如4,这更复杂)。 它只适用于int所以我尝试了一个List <int []>结果列表,但我无法弄明白,如何生成可能的组合。

对于像X = 5,N = 2的输入,我的预期输出将是:

  1. {5, 0}
  2. {4, 1}
  3. {3, 2}
  4. {2, 3}
  5. {4, 1}
  6. {0, 5}
c# combinations
1个回答
0
投票

你有初始的X和N阵列单元格。

做一个功能。

如果填充了数组,则输出其内容。

使用所有可能的值填充第一个单元格。

对于每个值v,使用(X-v)参数调用该函数以填充下一个单元格。

如果您正在使用全局数组,请关注在递归调用后恢复数组状态

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