C# 查找添加到其他数组中的项组合的所有可能的数组项组合

C# 查找添加到其他数组中的项组合的所有可能的数组项组合,c#,algorithm,C#,Algorithm,我有两个数组,有大量的项目,将近数百万个项目。我需要找出从数组1求和到数组2中单个元素或元素组合的所有元素组合。要组合的元素数是可变的。 例如:数组1{1,2,3,4,5,6,7,8,9} 阵列2{5,8,10} 将Array1中的1项与array2中的1项匹配,则 5=>5 8=>8 将Array1中的2个项目与array2中的1个项目组合在一起,得到 1,4=>5 2,3=>5 2,6=>8 1,7=>8 3,5=>8 6,4=>10 7,3=>10 8,2=>10 9,1=>10 将Arr

我有两个数组,有大量的项目,将近数百万个项目。我需要找出从数组1求和到数组2中单个元素或元素组合的所有元素组合。要组合的元素数是可变的。 例如:数组1{1,2,3,4,5,6,7,8,9} 阵列2{5,8,10}

将Array1中的1项与array2中的1项匹配,则

5=>5

8=>8

将Array1中的2个项目与array2中的1个项目组合在一起,得到

1,4=>5

2,3=>5

2,6=>8

1,7=>8

3,5=>8

6,4=>10

7,3=>10

8,2=>10

9,1=>10

将Array1中的2个项目与array2中的2个项目组合在一起可以得到

9,4=>5+8

8,5=>5+8

7,6=>5+8

9,6=>5+10

8,7=>5+10

依此类推,用于组合3个项目。 我需要写一个代码来实现这一点?有人已经面临过这样的问题吗?
提前谢谢 这是由组合数的公式给出的:

C = N!/(K!(N-K!)
其中N=1000,K=100

所以C=1000/100!*900! = 约6.4*10^139

这是一个非常大的数字,在任何合理的时间内都不可能完成所有这些组合。即使你每秒能处理一百万个组合,也需要比现在宇宙年龄多得多的时间

这只是您描述的问题的一个子集,而且您的数组有将近一百万个元素


因此,您的问题的答案是:这是不可能的。

听起来是一个非常好的要求。你能行!