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 Primzahl p zurück.
Testfälle :
input output
9 3
16 2
343 7
2687 2687
59049 3
Wertung : Das ist Code-Golf . Kürzeste Antwort in Bytes gewinnt.
code-golf
arithmetic
primes
king-of-the-hill
python
board-game
code-golf
number
subsequence
code-golf
ascii-art
code-golf
array-manipulation
decision-problem
grid
fastest-algorithm
logic-gates
logic
code-golf
cards
code-golf
rational-numbers
code-golf
math
number
sequence
code-golf
array-manipulation
integer
code-golf
number
array-manipulation
code-golf
number
sequence
decision-problem
code-golf
ascii-art
number
code-challenge
sequence
arithmetic
sorting
code-golf
date
fastest-algorithm
code-golf
string
number
random
combinatorics
code-golf
combinatorics
code-golf
ascii-art
base-conversion
code-golf
array-manipulation
code-golf
string
code-golf
string
number
arithmetic
code-golf
kolmogorov-complexity
code-golf
string
array-manipulation
json
code-golf
puzzle-solver
code-golf
binary
graph-theory
code-golf
arithmetic
haskell
code-golf
string
cipher
code-golf
code-golf
string
parsing
alphabet
code-golf
string
code-golf
ascii-art
code-golf
string
number
code-golf
string
balanced-string
Undichte Nonne
quelle
quelle
n
1 sein?n = 1
.Antworten:
Shakespeare Programming Language ,
209207 BytesProbieren Sie es online!
(I/you)*you<I
ist kürzer alsI%you>0
in SPL.quelle
05AB1E , 1 Byte
Probieren Sie es online!
quelle
[]
Nähe der Nummer) eine gültige Ausgabe ist?f = push list of prime factors (no duplicates)
Java 8,
463937 Bytes-7 Bytes indirekt dank @Tsathoggua .
-2 Bytes dank JoKing
Probieren Sie es online aus.
Erläuterung:
quelle
n->{for(int i=1;++i<=n;)if(n%i<1)return i;}
, um 43 Zeichen zu erhalten? (Ich spreche kein Java.)n->{for(int i=1;++i<=n;)if(n%i<1)return i;return n;}
würde funktionieren, ist aber leider länger. Java kann jedoch eine einzige Rückgabe in Endlosschleifen haben, was in der Tat Bytes spart, also danke!n->{for(int i=1;;)if(n%++i<1)return i;}
. Dai
wirdn
irgendwann (wie beim Testfall2687
) undn%n==0
, dasi<=n
ist in diesem Fall nicht erforderlich.Python 3 ,
3635 Bytes-1 byte dank mathmandan
Probieren Sie es online!
Rekursive Funktion, die den ersten Faktor größer als 1 findet
quelle
if/else
mitand/or
. Wief=lambda n,x=2:n%x and f(n,x+1)or x
.MATL ,
43 BytesProbieren Sie es online!
Erläuterung:
quelle
Leerzeichen ,
806160 Bytes-20 Bytes dank @JoKing .
Buchstaben
S
(Leerzeichen),T
(Tabulator) und (Zeilenvorschub) werdenN
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
i == n
Scheck?n%n
wäre sowieso 0n%i
und den Print danach aufrufen?Oktave , 16 Bytes
Probieren Sie es online!
Erläuterung:
Oder:
quelle
Funky , 30 Bytes
Probieren Sie es online!
quelle
0==
kann1>
ich denken.JavaScript (ES6), 25 Byte
Probieren Sie es online!
quelle
Gelee , 3 Bytes
Probieren Sie es online!
ÆfṪ
,ÆfX
könnten auch ernsthaft konkurrierende Funktionen sein.ÆfQ
könnte ein ernsthaft konkurrierendes volles Programm sein.quelle
C (gcc) , 28 Bytes
Probieren Sie es online!
quelle
Viertens (gviertens) , 34 Bytes
Probieren Sie es online!
Erläuterung
Code Erklärung
quelle
Pyth , 2 Bytes
Probieren Sie es hier aus!
quelle
Brachylog , 2 Bytes
Probieren Sie es online!
Erläuterung
quelle
J , 4 Bytes
Wählen Sie
{
den ersten0
der Primfaktorenq:
Probieren Sie es online!
quelle
Neim , 1 Byte
Probieren Sie es online!
quelle
Haskell , 26 Bytes
Probieren Sie es online!
quelle
Mathematica, 17 Bytes
Der zweitkleinste Teiler.
quelle
R ,
3226 Bytes@ Giuseppe mit anderer Logik und einer kürzeren Lösung:
Probieren Sie es online!
Original:
Probieren Sie es online!
Dies ist offensichtlich ein viel überlegener Port der 05AB1E- Lösung.
quelle
ARBLE , 19 Bytes
Probieren Sie es online!
quelle
Japt
-g
, 1 ByteProbieren Sie es hier aus
quelle
PowerShell , 31 Byte
Probieren Sie es online!
Konstruiert einen Bereich von
2
bis zur Eingabe$a
, zieht die Elemente herauswhere
(?
), deren Modulo-Operation%
eine Null ergibt!(...)
(dh die, deren Teiler sind$a
), und nimmt dann das kleinste[0]
davon. Das bleibt in der Pipeline, die Ausgabe ist implizit.quelle
Perl 6 , 22 Bytes
Probieren Sie es online!
Anonymer Codeblock, der die Faktoren des Bereichs 2 zur Eingabe filtert und den ersten zurückgibt. Ich habe versucht
^$
, 2 Bytes zu speichern, aber das hat nicht funktioniert, wenn die Eingabe prim war.quelle
Visual Basic .NET (.NET Framework v4.5),
12371 Byte-52 Bytes dank @Jo King
Probieren Sie es online!
Ungolfed:
Erläuterung:
Die
i
Schleife sucht ab der ersten Zahl rückwärts und findet alle Zahlen, die sie gleichmäßig teilen. Weil wir rückwärts gehen, wird das kleinste im vairable gespeichertA
.VB gibt Ihnen eine freie Variable, die Ihrem Funktionsnamen entspricht (in meinem Fall
A
). Am Ende der Funktionsausführung wird der Wert in dieser Variablen zurückgegeben (mit Ausnahme einer explizitenReturn
Anweisung).quelle
Haskell , 29 Bytes
Probieren Sie es online!
quelle
Python 3 ,
474544 BytesInspiriert von Kevin Cruijssens Antwort auf Java .
23 Bytes entfernt dank Jo King .Probieren Sie es online!
quelle
if
, und die Bedingung kann sein<1
range(n)
undi
an Ort und Stelle erhöhenPari / GP , 17 Bytes
Probieren Sie es online!
Pari / GP , 17 Bytes
Probieren Sie es online!
quelle
Ruby , 100 Bytes
Probieren Sie es online!
quelle
Stax , 3 Bytes
Führen Sie es aus, und debuggen Sie es
Erstes Element der Primfaktorisierung.
quelle
Julia 0,6 , 25 Bytes
Probieren Sie es online!
quelle