using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//算法分析 减少循环的次数降低时间复杂度 使用同余定理
// 1,2,3,4四个数字组成排列数每个数字位于百位有四种情况用for循环给位于百位上的数赋值
//每种情况可以组成六个不同的数
//采用同余定理:它的余数为1,2,3 当余数为0的时候是它变为4
List<int> number = new List<int>();//创建动态数组
for (int i = 1; i <= 4; i++) //循环控制
{
number.Clear();
number.Add(i);
if ((i + 1 + 4) % 4 == 0)
{
number.Add(4);
}
else
{
number.Add((i + 1 + 4) % 4);
}
if ((i + 2 + 4) % 4 == 0)
{
number.Add(4);
}
else
{
number.Add((i + 2 + 4) % 4);
}
if ((i + 3 + 4) % 4 == 0)
{
number.Add(4);
}
else
{
number.Add((i + 3 + 4) % 4);
}
int num1 = number[0] * 100 + number[1] * 10 + number[3];
int num2 = number[0] * 100 + number[1] * 10 + number[2];
int num3 = number[0] * 100 + number[2] * 10 + number[1];
int num4 = number[0] * 100 + number[2] * 10 + number[3];
int num5 = number[0] * 100 + number[3] * 10 + number[1];
int num6 = number[0] * 100 + number[3] * 10 + number[2];
Console.Write(num1 + " " + num2 + " " + " " + num3 + " " + num4 + " " + num5 + " " + num6);
Console.WriteLine();
}
Console.ReadLine();
}
}
}