Im Gespräch über diese Frage , werfen Sie einen Blick darauf, wenn Sie ein bisschen verwirrt sind.
Hauptaufgabe
Ihre Aufgabe ist es, verkettete Ganzzahlen in absteigender Reihenfolge auszugeben, aber die maximale Ganzzahl bei jedem Treffer zu erhöhen 1 (für diese Frage wird 1 als Primzahl betrachtet) . Dies hört sich zwar nicht anders an als die erste Frage, aber hier kommt der schwierige Teil: Alle ausgegebenen Zahlen dürfen nur Primzahlen sein . Diese werden ohne Leerzeichen oder Zeilenumbrüche zu einer einzigen Zeichenfolge zusammengefügt. Ihre Eingabe wird auch eine Primzahl sein .
Beispiel:
1
21
321
5321
75321
1175321
Valid output:
1213215321753211175321
Eingang
Ihr Code kann nur eine Eingabe annehmen: die höchste zu druckende Primzahl. Diese Eingabe kann von überall kommen (grafisch, STDIN). Sie können sicher sein, dass die Eingabe eine Primzahl ist.
Ausgabe
Sie müssen die resultierende Nummer ausgeben. Sie können diese Zahl erhalten, indem Sie den Countdown fortsetzen. Zählen Sie die Zahl nur, wenn es sich um eine Primzahl handelt, und verbinden Sie dann alle Ergebnisse zu einer Zahl. Die letzte Zahl "row" (zB 7, 5, 3, 2, 1) muss vollständig ausgedruckt werden. Die Ausgabe kann beliebig sein (Zahlen, Zeichenfolgen, Grafiken), solange sie lesbar ist. Es gilt dasselbe Regex-Muster für die Überprüfung Ihrer Testfälle:
^(\D*(\d)+\D*|)$
Wenn Ihre Ausgabe nicht mit diesem Muster übereinstimmt, ist Ihr Code ungültig.
Regeln
- Die Eingabe wird als primitiv eingestuft. Schließen Sie die Fehlerbehandlung nicht ein, es sei denn, Sie möchten / müssen.
- Die Ausgabe kann nur eine vollständig verbundene Nummer sein und wird daher nicht durch irgendetwas aufgeteilt, auch nicht durch Zeilenumbrüche.
- Ihr Algorithmus sollte nicht auf die erste Instanz des
NAuftretens prüfen (z. B. den17Eingang1175321), sondern auf die erste Instanz vonNals tatsächliche Zahl. - Ihre Eingabe ist positiv, fügen Sie keine Bearbeitung hinzu, es sei denn, Sie möchten / müssen.
Testfälle
Input: -2, 0
Output: Any, or none (number isn't positive)
Input: 9
Output: Any, or none (number isn't prime)
Input: 1
Output: 1
Input: 7
Output: 121321532175321
Input: 23
Output: 1213215321753211175321131175321171311753211917131175321231917131175321
Gewinner
Das ist Code-Golf , also gewinnt der Autor des Codes mit der geringsten Länge in Bytes!
1widerspricht direkt der Spezifikation, die " sicherstellt ", dass die eingegebene Zahl eine Primzahl ist. 2. Die Ausgabespezifikation scheint mehrere Widersprüche und Mehrdeutigkeiten zu enthalten. " Die letzte Zahl" row "(zB 7, 5, 3, 2, 1) muss vollständig gedruckt werden " - also die anderen nicht? " Es gilt dasselbe Regex-Muster für die Prüfung Ihrer Testfälle ", aber " Die Ausgabe ist möglicherweise nur eine vollständig verbundene Zahl, daher nicht durch irgendetwas aufgeteilt " widerspricht diesem regulären Ausdruck. Aber der reguläre Ausdruck ist ohnehin eindeutig zweifelhaft, weil er die leere Zeichenfolge zulässt, und es gibt keine Eingabe, die dies bewirken könnte.
1per Definition eine Primzahl ist.