995 デフォルトの名無しさん [sage] 2013/12/14(土) 11:45:45.22 ID: Be:
M個の一桁の数字(重複なし)からなるM桁の数字を
上位の桁から出来るだけ大きい数を選択する手順で順列にしたとき
n番目の数字を出力する関数を作成することは出来ますか?

たとえば M = 4 で 数字[2, 3, 5, 7] からなるとき n = 3 は
7532 ← n = 1
7523 ← n = 2
7352 ← n = 3
7325 ← n = 4
...
なので
int array[] = {2, 3, 5, 7};
int i = func(array, 4, 3);
で
i == 7352
となる func() が欲しいです

996 デフォルトの名無しさん [sage] 2013/12/14(土) 11:49:22.52 ID: Be:
関数の中で n 版目が出て来るまでループすると時間がかかるので
出来ればループを使わないで済む方法が知りたいです