Erstellen Sie die kürzeste Funktion, das kürzeste Programm oder den kürzesten Ausdruck, der A073329 berechnet , dh a(n)
die n-te Zahl mit n verschiedenen Primfaktoren. Eingabe ist die Anzahl der Elemente in der Sequenz, die zurückgegeben werden sollen. 0 < n
. Ich bin nicht an ganzzahliger Präzision interessiert. Ich möchte nur den Algorithmus. Für Sprachen, die keine beliebig großen Ganzzahlen unterstützen, tun wir einfach so.
Sie finden Testfälle, indem Sie dem oben angegebenen Link zu OEIS folgen.
AKTUALISIEREN:
Lassen Sie mich klarstellen, dass Sie eine ganzzahlige Sequenz aus Ihrem Programm, Ihrer Funktion oder Ihrem Ausdruck zurückgeben müssen. Mit anderen Worten, f(x)
sollte a(n)
für alle n
von 1 bis berechnen x
. Bei x
8 sollte Ihre Funktion 2, 10, 60, 420, 4290, 53130, 903210, 17687670
als Array oder eine andere geeignete Datenstruktur zurückgegeben werden.
output a(1), ... a(n)
anstatt etwas zurückzugeben, wie eine Reihe von ...Antworten:
Python, 144 Zeichen
Es dauert ungefähr 2 Minuten, bis x = 8 abgeschlossen ist.
quelle
Java, 170 Zeichen in einer Zeile
Update, +77 Zeichen IOL
quelle
Java (Ungolfed)
Verwendet einen Siebalgorithmus. Es ist ziemlich schnell. (6 Sekunden) Funktioniert bis zu genau, schlägt
8
wahrscheinlich für etwas Höheres fehl.quelle
JavaScript, 149 Zeichen
Fühlt sich für n> = 6 nicht an, daher habe ich nicht getestet, wie lange es dauert (mein Browser zeigt etwa alle 10 Sekunden eine Benachrichtigung über ein blockiertes Skript an, daher kann ich die Zeit nicht genau messen und möchte nicht vollständig hängen bleiben, wenn ich dies tue Aktivieren Sie "Nicht mehr anzeigen" ...)
Bearbeiten: Um ein Array zurückzugeben, sind es 200 Zeichen (+51) :
quelle
J, 32 Bytes
Aber da ich meine eigene Frage so spät beantworte, lassen wir diese Antwort nur als Kuriosität.
quelle