Ihre Aufgabe ist es, diese Nummer als Eingabe zu verwenden (obwohl sie auch mit jeder anderen Nummer funktionieren sollte):
18349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957
und finde die kleinste Periode, die in diesem Fall ist:
1834957034571097518349570345710975183495703457109751834957034571097518349570345710976
Viel Glück und hab Spaß!
Erläuterungen :
- Die eingegebene Nummer hat mindestens eine Periode und eine Teilperiode
- Die Periode beginnt immer am Anfang der eingegebenen Nummer
- Punkt bedeutet in diesem Fall eine Folge von Zahlen, die sich wiederholt.
>
Richtung falsch.Antworten:
CJam,
2016 BytesLiest von STDIN. Probieren Sie es online aus.
Der obige Code benötigt einen O (n 2 ) -Speicher, wobei n die Länge der Eingabe ist. Es wird mit 2 arbeiten 16 Ziffern, solange Sie genügend Speicher haben.
Hiermit können die Kosten für fünf zusätzliche Bytes behoben werden:
Beispiellauf
Wie es funktioniert
Für die Eingabe Q besteht die Idee darin, das erste Zeichen len (Q) Mal zu wiederholen und zu überprüfen, ob der Index von Q im Ergebnis 0 ist. Wenn dies nicht der Fall ist, wiederholen Sie die ersten beiden Zeichen len (Q) Mal usw.
quelle
Regex (.NET-Geschmack),
2322 ByteDies entspricht dem erforderlichen Zeitraum als Teilzeichenfolge.
Testen Sie es hier.
Wie funktioniert es?
quelle
aabaabaab
wird wahrscheinlich übereinstimmen,a
weil es sich wiederholt. Ich habe noch keinen Weg gefunden, es in PCRE zu lösen. Dennis versuchte es in einer jetzt gelöschten Antwort, aber diese funktionierte auch nicht vollständig. Übrigens brauchst du nichtg
.Python 60
s
ist die Ziffernfolgez.B:
quelle
Pyth , 14 Zeichen
Erläuterung:
Im Wesentlichen werden alle Anfangssequenzen der Eingabe generiert, jedes
len(z)
Mal wiederholt und es wird geprüft, obz
die Eingabe innerhalb der resultierenden Zeichenfolge liegt.Dies ist keine gültige Antwort, aber Pyth wurde kürzlich eine Funktion hinzugefügt, nachdem eine Frage gestellt wurde, die eine Lösung mit 12 Zeichen ermöglicht:
Dies verwendet die Filter-on-Integer-Funktion.
quelle
Japt , 8 Bytes
Versuch es
-2 Bytes dank Shaggy!
Transpiled JS Erklärt:
quelle
å+ æ@¶îX
Java 8, 125 Bytes
Nimmt die Eingabe als Zeichenfolge auf, da es in Java keine vernünftige Möglichkeit gibt, eine mehr als 1000-stellige Zahl als eine Zeichenfolge darzustellen (bitte keine BigInteger).
Probieren Sie es online aus!
quelle
String
var ersetzen . -3 Bytes