プロが教えるわが家の防犯対策術!

A~Eの5種類の文字から、10桁の文字列を作り、
 ※AAAAAAAAAA、AAAAAAAAAB、AAAAAAAAAC~EEEEEEEEEEまでの9,765,625通りかな?
その文字列の中に、A,B,Cの文字が含まれる並びは何通りあるのか
 ※AABBCCDDEE,ABCDEABCDE,AAAAAABCDE,というような並びはOKですね。
 ※AABBDDEEAAは、Cが入っていないのでダメです。
を、知りたいです。

計算式と答えを頂けると助かります。
よろしくお願いいたします。

A 回答 (6件)

A, B, C の各々の文字を、必ず1つ以上含む文字列ということですね?


まっとうに数えると、A, B, C がどこに入るかによって、重複したものを数えないようにするのはけっこう複雑になります。

そういうときには、「A, B, C のどれか一つをまったく含まない文字列」を数えて、トータルから差し引くようなやり方が一番簡単でしょう。

「A をまったく含まない文字列」は、「B~Eの4種類の文字から、10桁の文字列を作る」ということですから
  4^10 = 1,048,576
です。

同じく「B をまったく含まない文字列」は、「A, C~Eの4種類の文字から、10桁の文字列を作る」ということですから
  4^10 = 1,048,576
「C をまったく含まない文字列」は、「A, B, D~Eの4種類の文字から、10桁の文字列を作る」ということですから
  4^10 = 1,048,576
です。

ということで、「A, B, C のどれか一つをまったく含まない文字列」は
  1,048,576 × 3 = 3,145,728
です。

これをトータルの文字列数「5^10 = 9,765,625」から引いて、
  9,765,625 - 3,145,728 = 6,619,897
かな?
    • good
    • 0

「A と B の両方を含まない」などが存在することを忘れてはだめです>#1.

    • good
    • 2

No.1です。



#2さん>「A と B の両方を含まない」などが存在することを忘れてはだめです>#1.

ああ、そうでした。いつも、そういうところが抜けるんですよ。
下の絵のような関係で、No.1の3つの「含まないケース」を足し合わせると、ダブルカウント、トリプルカウントが出るのですね。

「A をまったく含まない文字列」は、「B~Eの4種類の文字から、10桁の文字列を作る」ということですから
  4^10 = 1,048,576
「B をまったく含まない文字列」は、「A, C~Eの4種類の文字から、10桁の文字列を作る」ということですから
  4^10 = 1,048,576
「C をまったく含まない文字列」は、「A, B, D~Eの4種類の文字から、10桁の文字列を作る」ということですから
  4^10 = 1,048,576

また、
「AもBも含まない」は、「C~Eの3種類の文字から、10桁の文字列を作る」ということですから
  3^10 = 59,049
「AもCも含まない」は、「B, D~Eの3種類の文字から、10桁の文字列を作る」ということですから
  3^10 = 59,049
「BもCも含まない」は、「A, D~Eの3種類の文字から、10桁の文字列を作る」ということですから
  3^10 = 59,049
「AもBもCも含まない」は、「D~Eの2種類の文字から、10桁の文字列を作る」ということですから
  2^10 = 1,024

よって「A, B, C をいずれも含まない文字列」は
  1,048,576 × 3 - (59,049 - 1,024) × 3 - 1,024 = 2,970,629
です。

これをトータルの文字列数「5^10 = 9,765,625」から引いて、「A, B, C をすべて含む文字列」は
  9,765,625 - 2,970,629 = 6,794,996

今度は間違いないと思いますが・・・。
「A~Eの5種類の文字から10桁の文字列を」の回答画像3
    • good
    • 1

#3で、考え方は途中まで正しいのですが、以下の計算部分で、


>よって「A, B, C をいずれも含まない文字列」は
>  1,048,576 × 3 - (59,049 - 1,024) × 3 - 1,024 = 2,970,629

これは、「AもBもCも含まない」が2回カウントされます。
この部分は、1,048,576 × 3 - (59,049 - 1,024) × 3 - 1,024 ×2 とすべきです。

あるいは、こうした場合は、2つ重なった部分を引いて、3つ重なった部分を足すのが公式の様なものなので、
それを覚えていれば、「A, B, C をいずれも含まない文字列」は
  1,048,576 × 3 -59,049× 3 + 1,024 = 2,969,605 となります。

「A, B, C をすべて含む文字列」は
  9,765,625 - 2,969,605 = 6,796,020 となります。
    • good
    • 3

No.1&3です。



ああ、まだ間違えていましたね。
#4さん、フォローありがとうございます。

組合せの問題で、重複を見つけ出して除外するのは、どうも苦手です・・・。
    • good
    • 1

No.1&3&5です。

いろいろとゴタゴタしましたので、全体を再度統合して完成版の回答にします。

*****以下、回答*****

A, B, C をすべて1つ以上含む文字列ということですね?
まっとうに数えると、A, B, C がいくつ、どこに入るかによって、重複したものを数えないようにするのはけっこう複雑になります。

そういうときには、「A, B, C のいずれも含まない文字列」をトータルから差し引くようなやり方が一番簡単でしょう。

ということで、
「A をまったく含まない文字列」は、「B~Eの4種類の文字から、10桁の文字列を作る」ということですから
  4^10 = 1,048,576
「B をまったく含まない文字列」は、「A, C~Eの4種類の文字から、10桁の文字列を作る」ということですから
  4^10 = 1,048,576
「C をまったく含まない文字列」は、「A, B, D~Eの4種類の文字から、10桁の文字列を作る」ということですから
  4^10 = 1,048,576

これら3つは、各々独立なものではなく、たとえば「Aを含まない文字列」の中には「Bを含まない文字列」もあるので、一部重複しています。従って、重複したものをダブルカウントしないようにしないといけません。

下記の図から上記3つのケースで重複しているものを調べると、
「AもBも含まない」は、「C~Eの3種類の文字から、10桁の文字列を作る」ということですから
  3^10 = 59,049
「AもCも含まない」は、「B, D~Eの3種類の文字から、10桁の文字列を作る」ということですから
  3^10 = 59,049
「BもCも含まない」は、「A, D~Eの3種類の文字から、10桁の文字列を作る」ということですから
  3^10 = 59,049
「AもBもCも含まない」は、「D~Eの2種類の文字から、10桁の文字列を作る」ということですから
  2^10 = 1,024

よって「A, B, C のいずれも含まない文字列」は
  1,048,576 × 3 - 59,049 × 3 + 1,024 = 2,969,605
です。

これをトータルの文字列数「5^10 = 9,765,625」から引いて、「A, B, C をすべて1つ以上含む文字列」は
  9,765,625 - 2,969,605 = 6,796,020
となります。
「A~Eの5種類の文字から10桁の文字列を」の回答画像6
    • good
    • 1
この回答へのお礼

皆様のお助けもありながらも、親身に回答くださりとても感謝しております。ありがとうございました!

お礼日時:2016/05/30 12:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!