Regeln sind einfach:
- Die ersten n Primzahlen (keine Primzahlen unter n ) sollten durch Zeilenumbrüche getrennt auf die Standardausgabe gedruckt werden (Primzahlen sollten innerhalb des Codes generiert werden)
- Primzahlen können nicht durch eine eingebaute Funktion oder durch eine Bibliothek generiert werden , dh die Verwendung einer eingebauten oder Bibliotheksfunktion wie prime = get_nth_prime (n), is_a_prime (number) oder factorlist = list_all_factors (number) ist nicht sehr kreativ.
Wertung - Angenommen, wir definieren Score = f ([Anzahl der Zeichen im Code]), wobei O ( f (n)) die Komplexität Ihres Algorithmus ist, wobei n die Anzahl der gefundenen Primzahlen ist. Wenn Sie beispielsweise einen 300-Zeichen-Code mit der Komplexität O (n ^ 2) haben, ist die Punktzahl 300 ^ 2 = 90000 , für 300 Zeichen mit O (n * ln (n)) wird die Punktzahl 300 * 5,7 = 1711,13 ( Nehmen wir der Einfachheit halber an, dass alle Protokolle natürliche Protokolle sind.
Verwenden Sie eine vorhandene Programmiersprache, die niedrigste Punktzahl gewinnt
Bearbeiten: Das Problem wurde von der Suche nach 'ersten 1000000 Primzahlen' zu 'ersten n Primzahlen' geändert, da wir uns nicht sicher sind, was 'n' in O (f (n)) ist. N ist die Anzahl der gefundenen Primzahlen das Problem hier und so hängt die Komplexität des Problems von der Anzahl der gefundenen Primzahlen ab)
Hinweis: Um einige Unklarheiten in Bezug auf die Komplexität zu klären : Wenn 'n' die Anzahl der gefundenen Primzahlen und 'N' die n-te gefundene Primzahl ist, ist die Komplexität in Bezug auf n gleich und N ist nicht äquivalent, dh O (f (n))! = O (f (N)) als, f (N)! = Konstante * f (n) und N! = Konstante * n, weil wir wissen, dass die n-te Primfunktion nicht linear ist, obwohl wir 'n' gefunden haben Die Komplexität von Primzahlen sollte sich leicht mit 'n' ausdrücken lassen.
Wie von Kibbee erwähnt, können Sie diese Website besuchen , um Ihre Lösungen zu überprüfen ( hier ist die alte Google Docs-Liste).
Bitte fügen Sie diese in Ihre Lösung ein -
Welche Komplexität hat Ihr Programm (einschließlich der grundlegenden Analyse, wenn nicht trivial)?
Zeichenlänge des Codes
die endgültig berechnete Punktzahl
Dies ist meine erste CodeGolf-Frage. Wenn es also einen Fehler oder eine Lücke in den obigen Regeln gibt, machen Sie sie bitte darauf aufmerksam.
1[\p:i.78498meine Antwort darauf 1[\p:i.1000000. Selbst wenn Js interner Prim-Algorithmus O (n ^ 2) ist, würde mein Score immer noch nur 196 sein.
ndie Anzahl der Primzahlen oder die maximalen Primzahl, und jeder ignoriert die Tatsache , dass die Zugabe von Zahlen im Bereich 0..nist O(logn), und die Multiplikation und Division ist noch teurer. Ich schlage vor, dass Sie einige Beispielalgorithmen zusammen mit ihrer korrekten Komplexität angeben.
O-tilde(k^6). Dies führt zu der Folgerung, dass jeder, der eine bessere Laufzeit behauptet, als O-tilde(n ln n (ln(n ln n))^6)einen Teil des Problems missverstanden hat; und auf die Frage, wie mit O-tildeKomplexität in der Wertung umgegangen werden soll.

