Beschreibung
Bei einer bestimmten Länge n
und Alphabetgröße k>0
muss Ihr Programm die Anzahl der Zeichenfolgen mit den Parametern bestimmen, die eine maximale Anzahl eindeutiger Teilzeichenfolgen aufweisen. Im Fall von k=2
erzeugt dies OEIS A134457 .
Beispiel
Zum Beispiel 2210
den Teil hat ,
2
, 22
, 221
, 2210
, 2
, 21
, 210
, 1
, 10
, und 0
, für insgesamt 11 jedoch 2
erscheint zweimal, so dass nur es 10 einzigartigen Teil hat.
Dies sind so viele wie möglich für eine Zeichenfolge mit einer Länge von 4, die 3 verschiedene Symbole enthält. Sie werden jedoch mit 35 anderen Zeichenfolgen verknüpft 0012
, sodass insgesamt 36 Zeichenfolgen einschließlich 2101
, und 0121
. Daher sollte Ihr Programm für n=4
und k=3
36 ausgeben.
Testfälle
n k output
0 5 1
1 3 3
5 1 1
9 2 40
2 3 6
5 5 120
code-golf
combinatorics
user1502040
quelle
quelle
n=2
,k=3
Ausgabe 9 :11,12,21,22,31,32,33,13,23
?Antworten:
Gelee , 9 Bytes
Probieren Sie es online aus!
Eingabe in umgekehrter Reihenfolge. Rohe Gewalt.
quelle
ṗẆQ$€ZṪL
Pyth, 12 Bytes
Probieren Sie es online aus.
Reine rohe Gewalt.
Erläuterung
Q
an das Programm anhängen .n
) inQ
.E
: Lesen und Auswerten einer Eingabezeile (k
).U
: eine Reichweite bekommen[0, ..., k-1]
.^
:n
Holen Sie sich alle -Längen-Zeichenfolgen von[0, ..., k-1]
..M
: finde diejenigen, die ein Maximum für die Funktion gebenf(Z)
:.:Z
: finde die Teilzeichenfolgen vonZ
{
: Duplikate entfernenl
: Ermittelt die Anzahl der eindeutigen Teilzeichenfolgenl
: Ermitteln Sie die Anzahl solcher Zeichenfolgenquelle
Mathematica, 96 Bytes
quelle
Haskell, 82 Bytes
Anwendungsbeispiel:
9 # 2
->40
.Wie es funktioniert:
quelle