Parece que a muchas personas les gustaría tener esto, ¡así que ahora es una secuela de este desafío !
Definición : una potencia prima es un número natural que puede expresarse 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 n.
Casos de prueba :
input output
9 2
16 4
343 3
2687 1
59049 10
Puntuación : Este es el código de golf . La respuesta más corta en bytes gana.
code-golf
number
arithmetic
primes
Monja permeable
fuente
fuente
Respuestas:
05AB1E , 2 bytes
Pruébalo en línea!
fuente
Ò
Lista de factores primos (con duplicados) yg
: Longitud de inserción .Python 3 , 49 bytes
Pruébalo en línea!
Salidas en
True
lugar de 1 ( según lo permitido por OP ). Función recursiva que encuentra repetidamente el factor más bajo y luego llama a la función nuevamente con la siguiente potencia más baja hasta que alcanza 1. Esta es una extensión de mi respuesta a la pregunta anterior.fuente
Pyth, 2
Cuenta los factores primos:
Prueba en línea .
fuente
Python 2 , 37 bytes
Pruébalo en línea!
Cuenta factores. Aparentemente escribí el mismo golf en 2015.
Estrechamente vence a lo no recursivo
Python 2 , 38 bytes
Pruébalo en línea!
fuente
Bash + GNU utilidades, 22
Pruébalo en línea!
fuente
factor|sed s/\ //|wc -w
?factor|tr -cd \ |wc -c
?dc ,
5041 bytesPruébalo en línea!
Toma la entrada desde la parte superior de la pila (en TIO, coloque la entrada en el encabezado para cargarla en la pila antes de la ejecución). Salidas a stdout.
Explicación
Registros utilizados:
i
: el divisor de prueba actual, mientras seX
está ejecutando. Más tarde, el divisor que hemos encontrado.X
: la macrodli1+dsi%0<X
, que tiene el efecto "incrementoi
, luego verifique el módulo con el valor en la pila (que será la entrada original). Si no es cero, repita".Y
: la macrodli/dli<Y
, que tiene el efecto "Agregar a la pila una copia de la parte superior actual de la pila, dividida pori
. Repita hasta quei
se alcance".Programa completo:
fuente
cara , 86 bytes
¡Hurra, más largo que Java!
Pruébalo en línea!
Soy particularmente aficionado al truco de usar el valor de retorno de
sscanf
. Normalmente, el valor de retorno se descartaría, pero aquí siempre será 1, porque siempre estamos leyendo un solo número como entrada. Podemos aprovechar esto asignando su valor de retorno a la variable1
, guardando los 2 bytes que de otro modo serían necesarios para asignar1
a 1 explícitamente.fuente
Polyglot de Attache y Wolfram Language (Mathematica) , 10 bytes
¡Prueba Attache en línea! ¡Prueba Mathematica en línea!
Simplemente una función integrada para calcular el número de factores primos que N tiene.
Explicación
Como N = p k , Ω ( N ) = Ω ( p k ) = k , el resultado deseado.
fuente
Java 8, 59 bytes
Una lambda de
int
aint
.Pruébalo en línea
fuente
J, 4 bytes
q:
da la lista de factores primos,#
da la longitud de la lista.Pruébalo en línea!
fuente
R , 37 bytes
Pruébalo en línea!
fuente
sum(x|1)
es casi siempre más corto quelength(x)
Stax ,4 43 bytes
Ejecutar y depurarlo
Duración de la factorización prima.
fuente
MATL , 3 bytes
Pruébalo en línea!
Explicación:
fuente
Jalea ,
32 bytesPruébalo en línea!
fuente
Espacio en blanco, 141 bytes
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
Brachylog , 2 bytes
Pruébalo en línea!
Explicación
fuente
Python 2 , 62 bytes
Pruébalo en línea!
Nada lujoso aquí.
fuente
Japt , 3 bytes
Pruébalo en línea!
Explicación:
fuente
En realidad , 2 bytes
Pruébalo en línea!
fuente
Haskell , 27 bytes
Pruébalo en línea!
Cuenta factores. Comparar:
Haskell , 28 bytes
Pruébalo en línea!
Haskell , 28 bytes
Pruébalo en línea!
Haskell , 30 bytes
Pruébalo en línea!
fuente
Octava , 18 bytes
Pruébalo en línea!
Hace lo que dice en la lata: Número de elementos distintos de cero en la factorización prima de la entrada.
fuente
Cjam, 5 bytes
Pruébalo en línea!
Explicación:
Los builtins son geniales!
fuente
rimf,
(programa completo) y{mf,}
(función) serían válidos.QBasic, 51 bytes
Utiliza el mismo algoritmo que la solución "Recuperar el primer" para encontrar la base, luego usa reglas de logaritmos para obtener el exponente:l o g( pnorte) = n ⋅ l o g( p ) .
fuente
Gaia , 2 bytes
Pruébalo en línea!
fuente
JavaScript (ES6), 37 bytes
Pruébalo en línea!
fuente
Perl 6 , 36 bytes
Busca el primer factor
(2..*).first: $_%%*
, luego calcula el valor aproximado (los registros no lo harán exacto) y lo redondea.Pruébalo en línea!
fuente
Pari / GP , 8 bytes
Pruébalo en línea!
Pari / GP , 14 bytes
Pruébalo en línea!
fuente
Raqueta , 31 bytes
Pruébalo en línea!
fuente
Perl 6 , 18 bytes
Pruébalo en línea!
Bloque de código anónimo que obtiene una lista de factores y los obliga a un número.
fuente
JavaScript (Node.js) , 29 bytes
Pruébalo en línea! Nota: La pila se desborda para entradas más grandes.
fuente