Définition : une puissance première est un nombre naturel qui peut être exprimé sous la forme p n où p est un nombre premier et n est un nombre naturel.
Tâche : étant donné une puissance première p n > 1, renvoyer la puissance première p.
Testcases :
input output
9 3
16 2
343 7
2687 2687
59049 3
Notation : Il s'agit du code-golf . La réponse la plus courte en octets l'emporte.
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
Leaky Nun
la source
la source
n
être 1?n = 1
.Réponses:
Langage de programmation Shakespeare ,
209207 octetsEssayez-le en ligne!
(I/you)*you<I
est plus court qu'enI%you>0
SPL.la source
05AB1E , 1 octet
Essayez-le en ligne!
la source
[]
autour du nombre) est une sortie valide?f = push list of prime factors (no duplicates)
Java 8,
463937 octets-7 octets indirectement grâce à @Tsathoggua .
-2 octets grâce à JoKing
Essayez-le en ligne.
Explication:
la source
n->{for(int i=1;++i<=n;)if(n%i<1)return i;}
pour obtenir 43 caractères? (Je ne parle pas Java.)n->{for(int i=1;++i<=n;)if(n%i<1)return i;return n;}
fonctionnerait, mais est malheureusement plus long. Java peut cependant avoir un seul retour dans des boucles infinies, ce qui permet effectivement d'économiser des octets, alors merci!n->{for(int i=1;;)if(n%++i<1)return i;}
. Depuisi
deviendran
éventuellement (comme avec le cas de test2687
) etn%n==0
, lei<=n
n'est pas requis dans ce cas.Python 3 ,
3635 octets-1 octet grâce à mathmandan
Essayez-le en ligne!
Fonction récursive qui trouve le premier facteur supérieur à 1
la source
if/else
parand/or
. Commef=lambda n,x=2:n%x and f(n,x+1)or x
.MATL ,
43 octetsEssayez-le en ligne!
Explication:
la source
Espace ,
806160 octets-20 octets grâce à @JoKing .
Lettres
S
(espace),T
(tabulation) etN
(nouvelle ligne) ajoutées uniquement en surbrillance.[..._some_action]
ajouté à titre d'explication uniquement.Essayez-le en ligne (avec des espaces bruts, des tabulations et des nouvelles lignes uniquement).
Explication en pseudo-code:
Exemple d'exécution:
input = 9
Le programme s'arrête avec une erreur: aucune sortie trouvée.
la source
i == n
chèque?n%n
serait de toute façon 0n%i
et appeler l'impression après?Octave , 16 octets
Essayez-le en ligne!
Explication:
Ou:
la source
Funky , 30 octets
Essayez-le en ligne!
la source
0==
peut être1>
je pense.JavaScript (ES6), 25 octets
Essayez-le en ligne!
la source
Gelée , 3 octets
Essayez-le en ligne!
ÆfṪ
,ÆfX
pourraient également être des fonctions sérieusement concurrentes.ÆfQ
pourrait être un programme complet sérieusement concurrent.la source
C (gcc) , 28 octets
Essayez-le en ligne!
la source
Forth (gforth) , 34 octets
Essayez-le en ligne!
Explication
Explication du code
la source
Pyth , 2 octets
Essayez-le ici!
la source
Brachylog , 2 octets
Essayez-le en ligne!
Explication
la source
J , 4 octets
Sélectionnez
{
le premier0
des facteurs premiersq:
Essayez-le en ligne!
la source
Neim , 1 octet
Essayez-le en ligne!
la source
Haskell, 26 bytes
Try it online!
la source
Mathematica, 17 bytes
The second smallest divisor.
la source
R,
3226 bytes@Giuseppe with different logic and a shorter solution:
Try it online!
Original:
Try it online!
This is obviously a much superior port of the 05AB1E solution.
la source
ARBLE, 19 bytes
Try it online!
la source
Japt
-g
, 1 byteTry it here
la source
PowerShell, 31 bytes
Try it online!
Constructs a range from
2
to input$a
, pulls out those elementswhere
(?
) the modulo operation%
results in a zero!(...)
(i.e., those that are divisors of$a
), and then takes the smallest[0]
one thereof. That's left on the pipeline, output is implicit.la source
Perl 6, 22 bytes
Try it online!
Anonymous code block that filters the factors of the range of 2 to the input and returns the first one. I tried using
^$
to save 2 bytes, but that didn't work in the case that the input was prime.la source
Visual Basic .NET (.NET Framework v4.5),
12371 bytes-52 bytes thanks to @Jo King
Try it online!
Ungolfed:
Explanation:
The
i
loop searches backwards from the first number, and finds all numbers that divide it evenly. Because we are going backwards, the smallest is stored in the vairableA
.VB gives you a free variable that matches your function name (in my case,
A
). At the end of the function execution, the value in that variable is returned (barring an explicitReturn
statement.la source
Haskell, 29 bytes
Try it online!
la source
Python 3,
474544 bytesInspired by Kevin Cruijssen's answer in Java.
23 bytes removed thanks to Jo King.Try it online!
la source
if
, and the condition can be<1
range(n)
and incrementingi
in placePari/GP, 17 bytes
Try it online!
Pari/GP, 17 bytes
Try it online!
la source
Ruby, 100 bytes
Try it online!
la source
Stax, 3 bytes
Run and debug it
First element of prime factorization.
la source
Julia 0.6, 25 bytes
Try it online!
la source