投稿する

[1117] 教えてください

 mmzkさん(No.1) 
Q.
2種類の文字 "A","B" を1個以上,最大n個並べた符号を作る。60通りの符号を作るときのnの最小値は幾らか。

A.
"A","B"をビットの"0"と"1"の2進数に置き換えて考えると、n個の並びでは次のように2n通りの組合せがあります。

  1文字→2通り
  2文字→4通り
  3文字→8通り

文字数は"最大"n個なので、文字列長が3の場合は、

  2+4+8=14

14通りを表現できることになります。さらに文字列長を増やしていくと、

  4文字→16通り
  14+16=30通り

  5文字→32通り
  30+32=62通り

というように5個を並べたときに表現できる組合せ数が60通りを超えることがわかります。



という回答の
文字数は"最大"n個なので、文字列長が3の場合は、2+4+8=14  がどうも理解できません。
文字列長が3の場合は8通りしか表現できないと思うのですが・・・。
2018.02.15 15:38
さん(No.2) 
文字数が最大3個というのは長くても3文字という意味なので
1文字でも2文字の場合でも組み合わせの数に含めるということです
例として、2進数で表現した場合、”011”と”11”は同じく3になりますが、
文字で表現している場合、ABBとBBで別の文字列になります
となると最大3個のときに作れる組み合わせは
3文字:AAA,AAB,ABA,ABB,BAA,BAB,BBA,BBB
2文字:AA,AB,BA,BB
1文字:A,B
の合計14個となります。
2018.02.15 17:08
 mmzkさん(No.3) 
ありがとうございます!
非常に理解しやすく教えていただきとても感謝しています。
2018.02.16 10:28

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop