Es scheint, dass viele Leute dies gerne hätten, also ist es jetzt eine Fortsetzung dieser Herausforderung !
Definition : Eine Primzahl ist eine natürliche Zahl, die in der Form p n ausgedrückt werden kann, wobei p eine Primzahl und n eine natürliche Zahl ist.
Aufgabe : Gib bei einer Primzahl p n > 1 die Potenz n zurück.
Testfälle :
input output
9 2
16 4
343 3
2687 1
59049 10
Wertung : Dies ist Code-Golf . Kürzeste Antwort in Bytes gewinnt.
code-golf
number
arithmetic
primes
Undichte Nonne
quelle
quelle
Antworten:
05AB1E , 2 Bytes
Probieren Sie es online!
quelle
Ò
:: Liste der Primfaktoren (mit Duplikaten) pushen undg
: Länge pushen .Python 3 , 49 Bytes
Probieren Sie es online!
Ausgänge
True
statt 1 ( gemäß OP zulässig ). Rekursive Funktion, die wiederholt den niedrigsten Faktor findet und die Funktion dann mit der nächstniedrigeren Potenz erneut aufruft, bis 1 erreicht ist. Dies ist eine Erweiterung meiner Antwort auf die vorherige Frage.quelle
Pyth, 2
Primfaktoren zählen:
Online-Test .
quelle
Python 2 , 37 Bytes
Probieren Sie es online!
Zählt Faktoren. Anscheinend habe ich 2015 das gleiche Golf geschrieben .
Schlägt das Nicht-Rekursive knapp aus
Python 2 , 38 Bytes
Probieren Sie es online!
quelle
Bash + GNU-Dienstprogramme, 22
Probieren Sie es online!
quelle
factor|sed s/\ //|wc -w
Arbeit?factor|tr -cd \ |wc -c
?Gleichstrom ,
5041 BytesProbieren Sie es online!
Übernimmt die Eingabe vom oberen Rand des Stapels (in TIO setzen Sie die Eingabe in den Header, um sie vor der Ausführung auf den Stapel zu laden). Ausgänge auf Standardausgabe.
Erläuterung
Verwendete Register:
i
: der aktuelle Testteiler, währendX
läuft. Später haben wir den Divisor gefunden.X
: das Makrodli1+dsi%0<X
, das den Effekt "Inkrementieren" hati
, dann den Modul mit dem Wert auf dem Stapel überprüfen (der die ursprüngliche Eingabe sein wird). Wenn er nicht Null ist, wiederholen Sie ".Y
: Das Makrodli/dli<Y
mit dem Effekt "Dem Stapel eine Kopie der aktuellen Stapelspitze hinzufügen, geteilt durchi
. Wiederholen, bisi
erreicht ist."Volles Programm:
quelle
Gesicht , 86 Bytes
Hurra, länger als Java!
Probieren Sie es online!
Besonders mag ich den Trick, den Rückgabewert von zu verwenden
sscanf
. Normalerweise wird der Rückgabewert verworfen, aber hier ist er immer 1, weil wir immer eine einzelne Zahl als Eingabe lesen. Dies können wir ausnutzen, indem wir der Variablen ihren Rückgabewert1
zuweisen und die 2 Bytes speichern, die andernfalls für die1
explizite Zuweisung zu 1 erforderlich wären .quelle
Attache und Wolfram Language (Mathematica) Polyglot, 10 Bytes
Versuchen Sie Attache online! Probieren Sie Mathematica online aus!
Einfach ein eingebautes Element zur Berechnung der Anzahl der Primfaktoren, die N hat.
Erläuterung
Da N = p k , Ω ( N ) = Ω ( p k ) = k , das gewünschte Ergebnis.
quelle
Java 8, 59 Bytes
Ein Lambda von
int
bisint
.Probieren Sie es online
quelle
J, 4 Bytes
q:
gibt die Liste der Primfaktoren an,#
gibt die Länge der Liste an.Probieren Sie es online!
quelle
R , 37 Bytes
Probieren Sie es online!
quelle
sum(x|1)
ist fast immer kürzer alslength(x)
Führen Sie es aus und debuggen Sie es
Länge der Primfaktorisierung.
quelle
MATL , 3 Bytes
Probieren Sie es online!
Erläuterung:
quelle
Gelee ,
32 BytesProbieren Sie es online!
quelle
Leerzeichen, 141 Bytes
Buchstaben
S
(Leerzeichen),T
(Tabulator) undN
(Zeilenumbruch) werden nur als Hervorhebungen hinzugefügt.[..._some_action]
nur als Erklärung hinzugefügt.Probieren Sie es online aus (nur mit Leerzeichen, Tabulatoren und Zeilenumbrüchen).
Erklärung im Pseudocode:
Beispiellauf:
input = 9
Programm stoppt mit Fehler: Kein Exit gefunden.
quelle
Brachylog , 2 Bytes
Probieren Sie es online!
Erläuterung
quelle
Python 2 , 62 Bytes
Probieren Sie es online!
Hier ist nichts Besonderes.
quelle
Japt , 3 Bytes
Probieren Sie es online!
Erläuterung:
quelle
Eigentlich 2 Bytes
Probieren Sie es online!
quelle
Haskell , 27 Bytes
Probieren Sie es online!
Zählt Faktoren. Vergleichen Sie:
Haskell , 28 Bytes
Probieren Sie es online!
Haskell , 28 Bytes
Probieren Sie es online!
Haskell , 30 Bytes
Probieren Sie es online!
quelle
Oktave , 18 Bytes
Probieren Sie es online!
Tut, was es verspricht: Anzahl der Nicht-Null-Elemente in der Primfaktorisierung der Eingabe.
quelle
Cjam, 5 Bytes
Probieren Sie es online!
Erläuterung:
Builtins sind großartig!
quelle
rimf,
(volles Programm) als auch{mf,}
(Funktion) wären gültig.QBasic, 51 Bytes
quelle
Gaia , 2 Bytes
Probieren Sie es online!
quelle
JavaScript (ES6), 37 Byte
Probieren Sie es online!
quelle
Perl 6 , 36 Bytes
Sucht nach dem ersten Faktor
(2..*).first: $_%%*
, berechnet dann von dort den ungefähren Wert (Protokolle erhalten ihn nicht genau) und rundet ihn.Probieren Sie es online!
quelle
Pari / GP , 8 Bytes
Probieren Sie es online!
Pari / GP , 14 Bytes
Probieren Sie es online!
quelle
Schläger , 31 Bytes
Probieren Sie es online!
quelle
Perl 6 , 18 Bytes
Probieren Sie es online!
Anonymer Codeblock, der eine Liste von Faktoren abruft und zu einer Zahl zusammenführt.
quelle
JavaScript (Node.js) , 29 Byte
Probieren Sie es online! Hinweis: Stapelüberläufe für größere Eingaben.
quelle