SHIKENの6文字を辞書式に並べた順列について、以下の2つの問いに答えます。 (1) 140番目の文字列を求めます。 (2) SHIKENが何番目の文字列か求めます。
2025/5/25
はい、承知いたしました。
1. 問題の内容
SHIKENの6文字を辞書式に並べた順列について、以下の2つの問いに答えます。
(1) 140番目の文字列を求めます。
(2) SHIKENが何番目の文字列か求めます。
2. 解き方の手順
(1) 140番目の文字列を求める
SHIKENの6文字を辞書式順に並べたとき、
E, H, I, K, N, Sの順になります。
まず、先頭の文字を固定して、残りの5文字を並び替える順列の数を考えます。
5文字の順列の数は 通りです。
* Eで始まる文字列は120通り
* Hで始まる文字列も120通り
140番目の文字列は、Eで始まる文字列の後、Hで始まる文字列の中にあります。
140 - 120 = 20なので、Hで始まる文字列の中で20番目の文字列を求めれば良いです。
次に、2文字目を固定して考えます。
残りの4文字の順列は 通りです。
Hの次にEが来る順列は24個ありますが、20 < 24 なので2文字目はEと確定します。
残りの4文字はI, K, N, Sの順です。H E _ _ _ _ となります。
3文字目を固定して考えます。
残りの3文字の順列は 通りです。
H E I _ _ _ : 6個
H E K _ _ _ : 6個
H E N _ _ _ : 6個
6 + 6 + 6 = 18 < 20 なので、3文字目はNではありません。
20 - 18 = 2なので、H E N で始まる順列の中で2番目のものを探します。
4文字目を固定して考えます。
残りの2文字の順列は 通りです。
H E I K _ _ : 2個
H E I N _ _ : 2個
H E I K _ _ は2個なので、H E I K _ _ で始まる順列の中で2番目のものが答えです。
残りの文字はN, Sです。辞書順に並べるとNSです。
従って、140番目の文字列はHEIKSNです。
(2) SHIKENが何番目の文字列か求める
Sで始まる文字列の数は 個
Hで始まる文字列の数は 個
Iで始まる文字列の数は 個
Kで始まる文字列の数は 個
Nで始まる文字列の数は 個
Eで始まる文字列の数は 個
S H I K E N
Sで始まる文字列の数は通り
次にHで始まる文字列の中で、Sで始まり、Hの次にIが来るものの数を考えます。
残りの4文字の順列の数は 通り
S H I K E N
S H Iで始まる文字列の数は通り
S H I Kで始まる文字列の数は通り
S H I K Eで始まる文字列の数は通り
最後にNがきます。
S H I K E N
120 + (Iで始まる文字の数)
Sで始まるものは、通り
Hで始まるものは、通り
以下同様に調べていく。
先頭がE, H, I, K, N で始まるものはそれぞれ120通り
Sで始まるものは120通り
SHで始まるものは、通り
SHIで始まるものは、通り
SHIKで始まるものは、通り
SHIKEで始まるものは、通り
SHIKENで終わる
Eより前に来るのはE, H, I, K, N
SHIKENは、先頭がEHIKNで始まる文字列の後に来るので、それぞれのを足し合わせると、
120 \* 5 + (SHIKENより前にある文字列)
E, H, I, K, N, S
SHIKENが何番目か調べる。
E _ _ _ _ _ = 120
H _ _ _ _ _ = 120
I _ _ _ _ _ = 120
K _ _ _ _ _ = 120
N _ _ _ _ _ = 120
5 \* 120 = 600
S E _ _ _ _ = 24
S H E _ _ _ = 6
S H I K _ _ = 2
S H I K E N = 1
600 + 24 \* 2
E,H,I,K,Nの順なので
SHIKENは
120 + E,H,I,K,Nで始まるものを足す
Sの前にE,H,I,K,N
SHIKEN
先頭がEHIKNの場合は全て試して120 \* 5 = 600
Sまで来たら、Hの前にE,I,K,Nがあるから
SHIKENまで、SHI,SHIKEを順番に確認していく。
120 + 24 + 6 + 2 + 1 = 153番目
2. 最終的な答え
(1) 140番目の文字列:HEIKSN
(2) SHIKEN:153番目