回答

✨ ベストアンサー ✨

(2)■□□□□■で端の■にまず子音が入って[これが優先事項], □は残り4文字の順列です.
両端には子音であるS, H, K, Nのどれかが入るので場合の数は順列P(4, 2)[4P2では見にくいのでこう書きましょう]通り.
残りの文字配列は残った4文字を並べ替えることなので4!通り. 以上からP(4, 2)*4!=288個ある.
***
(3) S, H, I, K, E, Nの6文字を辞書式配列で並べ替えると, E, H, I, K, N, Sです.
たとえば
1番目であるEHIKNSを0*5!+0*4!+0*3!+0*2!+0*1!=0[+1] [0は最初の文字]
720番目のSKIHEを5*5!+4*4!+3*3!+2*2!+1*1!=719[+1] [5は最後の文字]
のように対応させることにします. この表示は一意的[他の形には書けない]であることにも注意しましょう.
200番目については199=1*5!+3*4!+1*3!+0*2!+1*1!なのでHNIESKになります.
[Eの次はH, Hを除いてE, I, Kの次はN, H, Nを除いてEの次はI, 0はE, E, H, I, Nを除いてKの次はS, 最後はあまりのK]
***
(4) (3)の対応を使うと, SHIKENは5*5!+1*4!+1*3!+1*2!+0*1!と書けるので, 5*5!+1*4!+1*3!+1*2!+0*1!+1=633番目です.

LUX SIT

(3)の考え方は慣れていないと難しいかもしれないので, 理屈を説明しましょう[よく考えないと分かりませんよ].
***
最初の文字列を固定すると, 残りの順列は(6-1)!=5!=120通りあります.
1*5!<200<2*5!なので最初の文字列はE[これが0*5!以上1*5!未満]の次のH[これが1*5!以上2*5!未満]となるわけです.
これを繰り返していけば, a[6]*(6-1)!+a[5]*(5-1)!+a[4]*(4-1)!+a[3]*(3-1)!+a[2]*(2-1)!のような表記が得られることが推測できます.
問題は対応で, n番目というのは1番目から始まりますが, 上の表記では1番目が00000[=0]から始まるので差が生まれています.
したがって順番から文字列へ変換するときは-1, 文字列から順番へ変換するときは+1をする必要があったわけです.

LUX SIT

[訂正]
4P2では見にくいのでclearではこう書くことにします.

この回答にコメントする
疑問は解決しましたか?