/*********************************/
/*★ 順列を求める 前田 稔 ★*/
/*********************************/
using System;
class Prog
{
const int NUM = 4;
static int[] tbl = new int[NUM];
//★ MAIN PROGRAM
public static void Main()
{
int i;
for(i=0; i<NUM; i++) tbl[i]= i+1;
jyun(tbl,NUM);
Console.ReadLine();
}
// 順列を求める
static void jyun(int[] t, int n)
{ int i,k,w;
if (n<2)
{ list();
return;
}
k= n-1;
for(i=n-1; i>=0; i--)
{ w= t[k]; //t[k] と t[i] を入れ替える
t[k]= t[i];
t[i]= w;
jyun(t,k);
t[i]= t[k]; //t[k] と t[i] を元に戻す
t[k]= w;
}
}
// 順列を List
static void list()
{ int i;
for(i=0; i<NUM; i++) Console.Write("{0} ",tbl[i]);
Console.WriteLine("");
}
}
|