C#问题:输入一个数n,按顺序输出前n个数的全排列。
输入一个数n,按顺序输出前n个数的全排列。例如:输入:3输出:123132213231312321...
输入一个数n,按顺序输出前n个数的全排列。
例如:输入:3
输出:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1 展开
例如:输入:3
输出:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1 展开
1个回答
展开全部
class Program
{
static void Main(string[] args)
{
string n = Console.ReadLine();
int r = 0;
bool f = Int32.TryParse(n, out r);
if (!f)
{
Console.WriteLine("请输入数字.");
Console.ReadLine();
}
else
{
int[] outArray = new int[r];
int[] temp = new int[r];
Count(0, outArray, temp);
Console.ReadLine();
}
}
private static void Count(int step, int[] outArray, int[] temp)
{
if (step == outArray.Length)
{
for (int i = 0; i < outArray.Length; i++)
{
Console.Write(outArray[i]);
}
Console.WriteLine();
return;
}
for (int i = 0; i < outArray.Length; i++)
{
if (temp[i] == 0)
{
outArray[step] = i + 1;
temp[i] = 1;
Count(step + 1, outArray, temp);
temp[i] = 0;
}
}
}
}
仅供参考,其实网上博客很多有类似的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询