求救:排列组合问题
有以下排列
col1 col2 col3 col4
row1 1 2 3 4
row2 5 6 7 8
row3 9 10 11 12
现在要求出组合 和在10-20之间
如
1 5 9 是[row1,col1] [row2,col1] [row3,col1]的数字
那么1 +5+9=16在10-20直接符合要求 输出 111 就是col1 col1 col1
1 6 9 是[row1,col1] [row2,col2] [row3,col1]的数字
1+6+9=16 在10-20直接符合要求 输出121 就是col1 col2 col1
------解决方案--------------------大概意思:
for(int i=1;i <=3;i++)
for(int j=1;j <=3;j++)
{
if(j==i||j==6-i-j||6-i-j==i)
continue;
int m=6-i-j;
if([1,i]+[2,j]+[3,m]> 10&&[1,i]+[2,j]+[3,m] <20)
Console.WriteLine(i.ToString()+j.ToString()+m.ToString());
}
------解决方案--------------------做了一下,比较晕的,基本的实现了,后面的LZ自己改改吧:
using System;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
int[,] nums = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
int sum = 0;
for (int i = 0; i < 3; i++)
for (int j = 0; j < 4; j++)
for (int k = 0; k < 3; k++)
for (int l = 0; l < 4; l++)
for (int m = 0; m < 3; m++)
for (int n = 0; n < 4; n++)
{
sum = nums[i, j] + nums[k, l] + nums[m, n];
if ((sum > 10 && sum < 20) && !((i == k && j == i)||(i == m && j == n) || (k == m && l == n)))
Console.WriteLine( "{0}+{1}+{2}的总和为sum = {3} ", nums[i, j],nums[k, l],nums[m, n],sum);
}
}
}
}