Wie viele 2-Buchstaben-Wörter können Sie von aabcccddef erhalten


14

(aa wäre einer von vielen, bb wäre nicht)

Ich dachte, es wäre 10! / 8! Aber anscheinend mache ich etwas falsch. Kann mir jemand helfen, weil ich ratlos bin.


6
Vielen Dank, dass Sie uns gezeigt haben, was Sie versucht haben. Können Sie erklären, warum Sie dachten, es wäre 10! / 8! Wie können wir etwaige konzeptionelle Missverständnisse korrigieren, die Sie haben? Ist dies auch eine Frage aus einem Kurs oder Lehrbuch? Wenn ja, fügen Sie bitte den [self-study]Tag hinzu und lesen Sie das Wiki .
Silberfischchen

(Obwohl der Autor dieser Frage das "Selbststudium" -Tag ursprünglich nicht hinzugefügt hat, fällt diese Frage meiner Meinung nach unter die Richtlinien für das Selbststudium. Sie haben sich zum Ziel gesetzt, uns zu zeigen, was sie versucht haben, und die Frage selbst scheint klar zu sein Die Antwort von RoryT zeigt, was wahrscheinlich der Fehler in der Überlegung hinter der 10! / 8! -Antwort war, obwohl es natürlich schön wäre, wenn das Original-Poster dies bestätigen könnte.)
Silverfish

1
Einige stimmen ab, um dies als "unklar" zu schließen. Ich kann nicht sehen, was hier unklar ist, und die gegebenen Antworten zeigen, dass die Frage verstanden und klar genug war.
kjetil b halvorsen

2
Warum wird beim Erstellen von 2-Buchstaben-Wörtern "c" dreimal in der Liste der verfügbaren Buchstaben angezeigt?

3
@statman Das ist mir auch aufgefallen (siehe Kommentare unten), aber im Nachhinein bewundere ich den Einfallsreichtum des Fragestellers darin, es aufzunehmen. Es ist zwar keine grausame Ergänzung, erfordert aber einen zusätzlichen Moment des Nachdenkens.
Silberfischchen

Antworten:


22

Sie haben 6 verschiedene Buchstaben: a, b, c, d, e, f, aus denen Sie 6 x 5 = 30 Wörter mit zwei verschiedenen Buchstaben erzeugen können. Zusätzlich können Sie die 3 Wörter aa, cc, dd mit dem gleichen Buchstaben zweimal erzeugen. Die Gesamtzahl der Wörter beträgt also 30 + 3 = 33.


17

Eine Alternative zu Zahavas Methode: Es gibt Möglichkeiten, zwei der Buchstaben af ​​zu paaren. Es gibt jedoch keine 2 b-, e- oder f-Zeichen, daher sind "bb", "ee" und "ff" nicht möglich, sodass die Anzahl der Wörter 36 - 3 = 33 ist .62=3636-3=33

Die Art und Weise, wie Sie versucht haben, das Problem anzugehen, scheint die Tatsache zu ignorieren, dass es nicht 10 verschiedene Buchstaben gibt. Wenn Sie 10 verschiedene Buchstaben hätten, wäre Ihre Antwort richtig.


4
(+1) In der Tat ist die Tatsache, dass es zehn Buchstaben gibt, ein bisschen wie ein roter Hering, da drei von ihnen "C" waren! In Bezug auf die Anzahl der Wörter mit zwei Buchstaben wäre es nicht wichtig gewesen, wenn das "C" fünfzig Mal vorgekommen wäre. Mehr als zwei Auftritte desselben Buchstabens sind überflüssig.
Silberfischchen

7

Wenn Sie es nicht auf eine "kluge" Weise herausfinden können, lohnt es sich oft, es mit roher Gewalt zu versuchen. Stellen Sie sich vor, Sie versuchen, eine alphabetisch geordnete Liste aller Wörter aufzuschreiben, die Sie erstellen können.

Wie viele können mit "A" beginnen? Nun, "A" kann von A, B, C, D, E oder F gefolgt werden, das sind also sechs Möglichkeiten.

Wie viele können mit "B" beginnen? Darauf kann A, C, D, E oder F folgen, was nur fünf Möglichkeiten sind, da es kein zweites "B" gibt.

Wie viele können mit "C" beginnen? Da "C" dreimal in Ihrer Liste vorkommt, kann es von sich aus oder von einem der anderen fünf Buchstaben gefolgt werden. Ebenso wie bei "A" gibt es sechs Möglichkeiten. Beachten Sie, dass wir keine "zusätzlichen" Möglichkeiten erhalten, nur weil "C" öfter als "A" erscheint. Alles, was über einen zweiten Auftritt hinausgeht, ist überflüssig.

Hoffentlich ist jetzt klar, dass jeder Buchstabe, der in Ihrer Liste nur einmal vorkommt, am Anfang von fünf Wörtern erscheinen kann, und Buchstaben, die zweimal oder öfter vorkommen, am Anfang von sechs Wörtern. Die Buchstaben, die nur einmal vorkommen, sind "B", "E" und "F", von denen jeder am Anfang von fünf Wörtern stehen kann, sodass 5 + 5 + 5 = 15 Wörter ergeben. Die Buchstaben, die zweimal oder öfter vorkommen, sind "A", "C" und "D", von denen jeder am Anfang von sechs Wörtern stehen kann, sodass 6 + 6 + 6 = 18 Wörter ergeben. Insgesamt gibt es 15 + 18 = 33 Wörter.

Dies ist langwieriger als die anderen Methoden, aber wenn Sie versuchen, die Antwort auf diese systematische Art und Weise zu überdenken, haben Sie möglicherweise eine der schnelleren Methoden "entdeckt".

Beachten Sie, dass, wenn dies als Wahrscheinlichkeitsfrage formuliert wurde, Ihre erste Neigung möglicherweise darin bestand, ein Baumdiagramm zu zeichnen . Es hätte mit sechs Zweigen für den ersten Buchstaben begonnen, aber für den zweiten Buchstaben wären sechs Zweige aus "A", "C" und "D" herausgekommen (da auf sie jeder der sechs Buchstaben folgen kann). es kommen aber nur fünf Äste aus "B", "E" und "F" (weil sie nicht von sich aus verfolgt werden können). Dieses Verzweigungsmuster ist im Grunde dasselbe wie in meiner Antwort, aber vielleicht möchten Sie es lieber visuell in einem Baum betrachten.


1
Das ist sehr wahr. Verwenden Sie Brute-Force (möglicherweise mit dem Einschluss-Ausschluss-Prinzip), um eine Schätzung des Standardwerts für die Antwort zu erhalten.
smci

3

Ein mathematischer Ansatz

Aus mathematischer Sicht ist die Lösung die Menge der Elemente des kartesischen Produkts zwischen der Liste und sich selbst, sobald die Diagonale entfernt wurde. Sie können dieses Problem mit diesem Algorithmus lösen:

  • Berechnung des kartesischen Produkts zwischen Ihrer Liste und sich selbst.
  • Entfernen der Diagonale
  • Erstellen Sie einen Satz aus dem Array

Eine Menge ist eine genau definierte Sammlung unterschiedlicher Objekte, daher werden Objekte nicht wiederholt.

Übersetzen Sie es in Python

from itertools import product
import numpy as np

letters = list("aabcccddef")
cartesianproduct = np.array(["".join(i) for i in product(letters,letters)]).reshape(10,10)


cartesianproduct

Out :
array([['aa', 'aa', 'ab', 'ac', 'ac', 'ac', 'ad', 'ad', 'ae', 'af'],
       ['aa', 'aa', 'ab', 'ac', 'ac', 'ac', 'ad', 'ad', 'ae', 'af'],
       ['ba', 'ba', 'bb', 'bc', 'bc', 'bc', 'bd', 'bd', 'be', 'bf'],
       ['ca', 'ca', 'cb', 'cc', 'cc', 'cc', 'cd', 'cd', 'ce', 'cf'],
       ['ca', 'ca', 'cb', 'cc', 'cc', 'cc', 'cd', 'cd', 'ce', 'cf'],
       ['ca', 'ca', 'cb', 'cc', 'cc', 'cc', 'cd', 'cd', 'ce', 'cf'],
       ['da', 'da', 'db', 'dc', 'dc', 'dc', 'dd', 'dd', 'de', 'df'],
       ['da', 'da', 'db', 'dc', 'dc', 'dc', 'dd', 'dd', 'de', 'df'],
       ['ea', 'ea', 'eb', 'ec', 'ec', 'ec', 'ed', 'ed', 'ee', 'ef'],
       ['fa', 'fa', 'fb', 'fc', 'fc', 'fc', 'fd', 'fd', 'fe', 'ff']], 
      dtype='|S2')

Wir entfernen die Diagonale

diagremv = np.array([ np.delete(arr,index) for index,arr in enumerate(cartesianproduct)]) 

diagremv

array([['aa', 'ab', 'ac', 'ac', 'ac', 'ad', 'ad', 'ae', 'af'],
       ['aa', 'ab', 'ac', 'ac', 'ac', 'ad', 'ad', 'ae', 'af'],
       ['ba', 'ba', 'bc', 'bc', 'bc', 'bd', 'bd', 'be', 'bf'],
       ['ca', 'ca', 'cb', 'cc', 'cc', 'cd', 'cd', 'ce', 'cf'],
       ['ca', 'ca', 'cb', 'cc', 'cc', 'cd', 'cd', 'ce', 'cf'],
       ['ca', 'ca', 'cb', 'cc', 'cc', 'cd', 'cd', 'ce', 'cf'],
       ['da', 'da', 'db', 'dc', 'dc', 'dc', 'dd', 'de', 'df'],
       ['da', 'da', 'db', 'dc', 'dc', 'dc', 'dd', 'de', 'df'],
       ['ea', 'ea', 'eb', 'ec', 'ec', 'ec', 'ed', 'ed', 'ef'],
       ['fa', 'fa', 'fb', 'fc', 'fc', 'fc', 'fd', 'fd', 'fe']], 
      dtype='|S2')

Wir berechnen die Länge der Menge von Elementen:

len(set(list(diagremv.flatten())))

Out: 33

1

2

Ich denke, der Grund, warum manche denken, die Frage sei unklar, weil der Begriff "2-Buchstaben-Wörter" verwendet wird. Angesichts der Art und Weise, wie sich alle einer Lösung nähern, interpretieren sie alle "2-Buchstaben-Wörter" als "Buchstabenpaare". Als begeisterter Scrabble-Spieler stellte sich mir sofort die Frage: "Wie viele legitime Wörter aus zwei Buchstaben können aus diesen Buchstaben bestehen?" Und diese Antwort ist - 12! Zumindest laut der neuesten Ausgabe des Official Scrabble Players Dictionary (OSPD5). Die Wörter sind aa, ab, ad, ae, ba, da, de, ed, ef, fa und fe. (Bitte beachten Sie, dass die Tatsache, dass Sie noch nie von vielen dieser Wörter gehört haben, deren Gültigkeit nicht negiert!); O)

Nur mein "2 Sinn".


1

Noch eine andere Möglichkeit, ohne rohe Gewalt zu zählen:

Wenn der erste Buchstabe a, c oder d ist, gibt es 6 verschiedene verbleibende Auswahlmöglichkeiten für den zweiten Buchstaben.

Wenn der erste Buchstabe jedoch b, e oder f ist, stehen für den zweiten Buchstaben nur noch 5 verschiedene Optionen zur Verfügung.

Also gibt es 36+35=33 verschiedene Zwei-Buchstaben-Wörter.


0

Die Art und Weise, wie Sie Ihre Frage stellen, ist fehlerhaft. Welche Aktionen sind in der Zeile "aabcccddef" tatsächlich zulässig, um ein Wort mit zwei Buchstaben zu verwenden? Können wir letztere ersetzen oder nur das Unnötige überqueren? Ich habe in Abhängigkeit von diesen Bedingungen zwei mögliche Antworten gefunden:

1) Wir können die Buchstaben in irgendeiner Weise durch die oben genannte Antwort 33 ersetzen. 30 Paare verschiedener Buchstaben (6 * 5) und 3 Paare ähnlicher Buchstaben.

2) Wenn wir die Buchstaben nicht tauschen und nur kreuzen können, erhalten wir viel weniger Antworten. Zählen wir von Anfang bis Ende. Beginnend mit "a" haben wir 6 Buchstaben, um an zweiter Stelle zu stehen, beginnend mit "b" sind es nur 4. "c" hat auch 4, "d" - 3 und "e" - 1. Das sind insgesamt 18.


-1

meine antwort auf die frage: wie viele 2-buchstaben wörter kannst du von aabcccddef bekommen

  1. aa; 2. ab; 3. ad; 4. ae; 5. ad; 6. ba; 7. sein; 8. de; 9. fa; 10. fe

* // Der Punkt ist die Frage lautet, "Wörter" keine Kombinationen von Paaren. Bei Verwendung von Wörtern müsste der Buchstabe zweimal vorkommen, um das Wort mehr als einmal zu verwenden. Es gibt beispielsweise zwei Buchstaben "a" und zwei Buchstaben "d". Daher ist es möglich, "ad" zweimal als Wort zu schreiben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.