Fairerweise basiert dies auf einer StackExchange-Frage - aber es ist eine gute Frage.
Die Herausforderung ist ziemlich einfach:
- Nehmen Sie eine Reihe von Ziffern
- Suchen und drucken Sie die größte zusammenhängende Primzahl in der Zeichenfolge
Wertung:
- Die niedrigste Anzahl von Charakteren gewinnt.
- Victor wird wahrscheinlich ein Golfscript-Eintrag sein, aber wir werden das nicht gegen sie aufbringen , weil wir alle Spaß haben und Dinge lernen, richtig.
- Gewinner werden wir ausgezeichnet, wenn ich bemerke, dass ich den grünen Knopf nicht wirklich angekreuzt habe.
Annahmen:
- Die Zeichenfolge besteht nur aus Zahlen
- Wenn die Zeichenfolge Buchstaben enthält, liegt möglicherweise ein undefiniertes Verhalten vor
- Die Zeichenfolge enthält mindestens 1 Primzahl
- Wenn die Zeichenfolge keine gültige Primzahl enthält, liegt möglicherweise ein undefiniertes Verhalten vor
- Geschwindigkeit ist keine Einschränkung
- Verwenden Sie einen kürzeren Primalgorithmus gegenüber einem schnelleren.
- Wenn Ihr Eintrag irgendwann fertig ist, ist das in Ordnung. Stellen Sie einfach sicher, dass dies nachweislich vor dem Hitzetod des Universums geschieht.
- Die Länge der Zeichenfolge kann mit weniger als 15 Zeichen angenommen werden
Zum Beispiel:
>> Input: 3571
<< Output: 3571
>> Input: 123
<< Output: 23
>> Input: 1236503
<< Output: 236503
>> Input: 46462
<< Output: 2
>> Input: 4684
<< Output: ValueError: max() arg is an empty sequence
>> Input: 460
<< Output: 0 # Note, zero is not a prime, but the above string has no valid prime
>> Input: 4601
<< Output: 601
>> Input: "12 monkeys is a pretty good movie, but not as good as se7en"
<< Output: ValueError: Fight Club was also good, I find Brad Pitt to be a consistantly good actor.
Mögliche Implementierungen:
- Suchen Sie alle Teilzeichenfolgen der Eingabe und prüfen Sie, ob sie Primzahlen sind. - Legostormtroopr (Original)
- Finden Sie alle Ganzzahlen, die kleiner als die Eingabe sind, prüfen Sie, ob sie in der Eingabe enthalten sind, und prüfen Sie, ob es sich um eine Primzahl handelt - Ben Reich
- Nehmen Sie eine Liste aller Primzahlen, die kleiner als die Eingabe sind, und prüfen Sie, ob sie in der Eingabe enthalten sind - daniero