(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.
(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.
Antworten:
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.
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 .
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.
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.
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:
Eine Menge ist eine genau definierte Sammlung unterschiedlicher Objekte, daher werden Objekte nicht wiederholt.
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
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".
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 verschiedene Zwei-Buchstaben-Wörter.
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.
meine antwort auf die frage: wie viele 2-buchstaben wörter kannst du von aabcccddef bekommen
* // 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.
[self-study]
Tag hinzu und lesen Sie das Wiki .