順列の特徴は、同じものを重複して使えないとうことですよね。つまり、1つの考え方としては、 A)1から3を要素の個数分繰り返す。  1)1個ならそれを返す。(脱出条件)  2)一つを選んで、  3)残りのもので順列を作る。(残りのものについてAを実行する。) と言う方法が考えられます。 再帰呼び出しを使えば、比較的楽に実装できます。 他にも、いろいろやり方があると思います。 クイズだと思って、順列の特徴を考えながら楽しんでください。