テキストpp.158--173を参照。
順列関数 permut ( n , r )は、 n P r とも書かれ、 n 個の要素から r 個を選ぶ場合の並べ方の数を表します。 ここでは、 n 個の要素を0、1、…、 n -1とします。
p.170のList 5-9は、実は、 8 P 8 の並べ方を列挙するものです。 そこで、このプログラムを書き直し、 n を入力して、 n P n の並べ方を列挙するようにしてください。
import java.util.Scanner; class PermutNN { static boolean[] flag; static int[] pos; static void print(int n) { } static void set(int i, int n) { } public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); flag = new boolean[n]; pos = new int[n]; set(0, n); } }
PS ...\Desktop\java2> & ... 'PermutNN' n個の要素からn個を選ぶ場合の並べ方を列挙します。 整数nを入力せよ:3 0 1 2 0 2 1 1 0 2 1 2 0 2 0 1 2 1 0 PS ...\Desktop\java2>
余力のある人は、 n と r を入力して、 n P r の並べ方を列挙するようにしてください。
import java.util.Scanner; class PermutNR { static boolean[] flag; static int[] pos; static void print(int r) { } static void set(int i, int n, int r) { } public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); flag = new boolean[n]; pos = new int[r]; set(0, n, r); } }
PS ...\Desktop\java2> & ... 'PermutNR' n個の要素からr個を選ぶ場合の並べ方を列挙します。 整数nを入力せよ:4 整数rを入力せよ:2 0 1 0 2 0 3 1 0 1 2 1 3 2 0 2 1 2 3 3 0 3 1 3 2 PS ...\Desktop\java2>
完成したら、答案(Javaプログラム)をメールで提出してください。 差出人は大学発行のメール・アドレス(学生番号@cis.twcu.ac.jp)とし、宛先はkonishi@cis.twcu.ac.jpとします。 メールの本文には、学生番号、氏名、科目名、授業日(11月28日)を明記してください。