Definición : una potencia prima es un número natural que se puede expresar en la forma p n donde p es un número primo yn es un número natural.
Tarea : Dada una potencia principal p n > 1, devuelve la potencia principal p.
Casos de prueba :
input output
9 3
16 2
343 7
2687 2687
59049 3
Puntuación : Este es el código de golf . La respuesta más corta en bytes gana.
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
Monja permeable
fuente
fuente
n
ser 1?n = 1
.Respuestas:
Lenguaje de programación Shakespeare ,
209207 bytesPruébalo en línea!
(I/you)*you<I
es más corto queI%you>0
en SPL.fuente
05AB1E , 1 byte
Pruébalo en línea!
fuente
[]
alrededor del número) es una salida válida?f = push list of prime factors (no duplicates)
Java 8,
463937 bytes-7 bytes indirectamente gracias a @Tsathoggua .
-2 bytes gracias a JoKing
Pruébalo en línea.
Explicación:
fuente
n->{for(int i=1;++i<=n;)if(n%i<1)return i;}
para obtener 43 caracteres? (No hablo Java.)n->{for(int i=1;++i<=n;)if(n%i<1)return i;return n;}
funcionaría, pero desafortunadamente es más largo. Sin embargo, Java puede tener un solo retorno en bucles infinitos, lo que de hecho ahorra bytes, así que ¡gracias!n->{for(int i=1;;)if(n%++i<1)return i;}
. Dadoi
quen
eventualmente se convertirá (como con el caso de prueba2687
) yn%n==0
,i<=n
no se requiere en este caso.Python 3 ,
3635 bytes-1 byte gracias a Mathmandan
Pruébalo en línea!
Función recursiva que encuentra el primer factor mayor que 1
fuente
if/else
conand/or
. Al igual,f=lambda n,x=2:n%x and f(n,x+1)or x
.MATL ,
43 bytesPruébalo en línea!
Explicación:
fuente
Espacio en blanco ,
806160 bytes-20 bytes gracias a @JoKing .
Se agregaron letras
S
(espacio),T
(tabulación) yN
(nueva línea) solo como resaltado.[..._some_action]
agregado solo como explicación.Pruébelo en línea (solo con espacios en bruto, pestañas y nuevas líneas).
Explicación en pseudocódigo:
Ejemplo de ejecución:
input = 9
El programa se detiene con un error: no se encontró ninguna salida.
fuente
i == n
cheque?n%n
sería 0 de todos modosn%i
y llamar a la impresión después?Octava , 16 bytes
Pruébalo en línea!
Explicación:
O:
fuente
Funky , 30 bytes
Pruébalo en línea!
fuente
0==
Puede ser1>
, creo.JavaScript (ES6), 25 bytes
Pruébalo en línea!
fuente
Jalea , 3 bytes
Pruébalo en línea!
ÆfṪ
,ÆfX
también podrían ser funciones que compiten seriamente.ÆfQ
podría ser un programa completo que compite seriamente.fuente
C (gcc) , 28 bytes
Pruébalo en línea!
fuente
Adelante (gforth) , 34 bytes
Pruébalo en línea!
Explicación
Explicación del código
fuente
Pyth , 2 bytes
Pruébalo aquí!
fuente
Brachylog , 2 bytes
Pruébalo en línea!
Explicación
fuente
J , 4 bytes
Seleccione
{
el primero0
de los factores primosq:
Pruébalo en línea!
fuente
Neim , 1 byte
Pruébalo en línea!
fuente
Haskell , 26 bytes
Pruébalo en línea!
fuente
Mathematica, 17 bytes
El segundo divisor más pequeño.
fuente
R ,
3226 bytes@Giuseppe con lógica diferente y una solución más corta:
Pruébalo en línea!
Original:
Pruébalo en línea!
Obviamente, este es un puerto muy superior de la solución 05AB1E .
fuente
ARBLE , 19 bytes
Pruébalo en línea!
fuente
Japt
-g
, 1 bytePruébalo aquí
fuente
PowerShell , 31 bytes
Pruébalo en línea!
Construye un rango desde
2
a entrada$a
, extrae esos elementoswhere
(?
), la operación del módulo%
da como resultado un cero!(...)
(es decir, aquellos que son divisores de$a
), y luego toma el más pequeño de los[0]
mismos. Eso queda en la tubería, la salida es implícita.fuente
Perl 6 , 22 bytes
Pruébalo en línea!
Bloque de código anónimo que filtra los factores del rango de 2 a la entrada y devuelve el primero. Intenté usar
^$
para guardar 2 bytes, pero eso no funcionó en el caso de que la entrada fuera primo.fuente
Visual Basic .NET (.NET Framework v4.5),
12371 bytes-52 bytes gracias a @Jo King
Pruébalo en línea!
Sin golf:
Explicación:
El
i
bucle busca hacia atrás desde el primer número y encuentra todos los números que lo dividen en partes iguales. Como vamos hacia atrás, lo más pequeño se almacena en lo deseableA
.VB le ofrece una variable libre que coincide con el nombre de su función (en mi caso,
A
). Al final de la ejecución de la función, se devuelve el valor en esa variable (salvo unaReturn
declaración explícita .fuente
Haskell , 29 bytes
Pruébalo en línea!
fuente
Python 3 ,
474544 bytesInspirado por la respuesta de Kevin Cruijssen en Java .
23 bytes eliminados gracias a Jo King .Pruébalo en línea!
fuente
if
, y la condición puede ser<1
range(n)
e incrementandoi
en su lugarPari / GP , 17 bytes
Pruébalo en línea!
Pari / GP , 17 bytes
Pruébalo en línea!
fuente
Ruby , 100 bytes
Pruébalo en línea!
fuente
Stax , 3 bytes
Ejecutar y depurarlo
Primer elemento de factorización prima.
fuente
Julia 0.6 , 25 bytes
Pruébalo en línea!
fuente