Definição : uma potência primária é um número natural que pode ser expresso na forma p n, em que p é uma primária e n é um número natural.
Tarefa : Dada uma potência primária p n > 1, retorne a prime p.
Casos de teste :
input output
9 3
16 2
343 7
2687 2687
59049 3
Pontuação : Este é o código-golfe . A resposta mais curta em bytes vence.
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
Freira Furada
fonte
fonte
n
ser 1?n = 1
.Respostas:
Linguagem de programação de Shakespeare ,
209207 bytesExperimente online!
(I/you)*you<I
é mais curto queI%you>0
no SPL.fonte
05AB1E , 1 byte
Experimente online!
fonte
[]
ao redor do número) é uma saída válida?f = push list of prime factors (no duplicates)
Java 8,
463937 bytes-7 bytes indiretamente, graças a @Tsathoggua .
-2 bytes graças ao JoKing
Experimente online.
Explicação:
fonte
n->{for(int i=1;++i<=n;)if(n%i<1)return i;}
para obter 43 caracteres? (Eu não falo Java.)n->{for(int i=1;++i<=n;)if(n%i<1)return i;return n;}
funcionaria, mas infelizmente é mais longo. No entanto, o Java pode ter um único retorno em loops infinitos, o que realmente salva bytes, então obrigado!n->{for(int i=1;;)if(n%++i<1)return i;}
. Comoi
se tornarán
eventualmente (como no caso de teste2687
) en%n==0
,i<=n
não é necessário neste caso.Python 3 ,
3635 bytes-1 byte graças a mathmandan
Experimente online!
Função recursiva que encontra o primeiro fator maior que 1
fonte
if/else
porand/or
. Comof=lambda n,x=2:n%x and f(n,x+1)or x
,.MATL ,
43 bytesExperimente online!
Explicação:
fonte
Espaço em branco ,
806160 bytes-20 bytes graças a @JoKing .
Letras
S
(espaço),T
(guia) eN
(nova linha) adicionadas apenas como destaque.[..._some_action]
adicionado apenas como explicação.Experimente online (apenas com espaços brutos, guias e novas linhas).
Explicação em pseudo-código:
Exemplo de execução:
input = 9
O programa para com um erro: Nenhuma saída encontrada.
fonte
i == n
cheque?n%n
seria 0 de qualquer maneiran%i
e ligar para a impressão depois?Oitava , 16 bytes
Experimente online!
Explicação:
Ou:
fonte
Funky , 30 bytes
Experimente online!
fonte
0==
posso ser1>
eu acho.JavaScript (ES6), 25 bytes
Experimente online!
fonte
Geléia , 3 bytes
Experimente online!
ÆfṪ
,ÆfX
também podem ser funções seriamente concorrentes.ÆfQ
poderia ser um programa completo seriamente competitivo.fonte
C (gcc) , 28 bytes
Experimente online!
fonte
Quarto (gforth) , 34 bytes
Experimente online!
Explicação
Código Explicação
fonte
Pitão , 2 bytes
Experimente aqui!
fonte
Braquilog , 2 bytes
Experimente online!
Explicação
fonte
J , 4 bytes
Selecione
{
o primeiro0
dos fatores primosq:
Experimente online!
fonte
Neim , 1 byte
Experimente online!
fonte
Haskell , 26 bytes
Experimente online!
fonte
Mathematica, 17 bytes
O segundo menor divisor.
fonte
R ,
32bytes 26@ Giuseppe com lógica diferente e uma solução mais curta:
Experimente online!
Original:
Experimente online!
Esta é obviamente uma porta muito superior da solução 05AB1E .
fonte
ARBLE , 19 bytes
Experimente online!
fonte
Japt
-g
, 1 byteExperimente aqui
fonte
PowerShell , 31 bytes
Experimente online!
Constrói um intervalo de
2
entrada$a
, puxa esses elementoswhere
(?
), a operação do módulo%
resulta em um zero!(...)
(ou seja, aqueles que são divisores de$a
) e, em seguida, leva o menor[0]
deles. Isso é deixado no pipeline, a produção está implícita.fonte
Perl 6 , 22 bytes
Experimente online!
Bloco de código anônimo que filtra os fatores do intervalo de 2 na entrada e retorna o primeiro. Eu tentei usar
^$
para salvar 2 bytes, mas isso não funcionou no caso em que a entrada era prime.fonte
Visual Basic .NET (.NET Framework v4.5),
12371 bytes-52 bytes graças a @Jo King
Experimente online!
Ungolfed:
Explicação:
O
i
loop pesquisa para trás a partir do primeiro número e encontra todos os números que o dividem igualmente. Como estamos indo para trás, o menor é armazenado no valor variávelA
.O VB fornece uma variável livre que corresponde ao nome da sua função (no meu caso
A
). No final da execução da função, o valor nessa variável é retornado (exceto umaReturn
instrução explícita .fonte
Haskell , 29 bytes
Experimente online!
fonte
Python 3 ,
474544 bytesInspirado pela resposta de Kevin Cruijssen em Java .
23 bytes removidos graças a Jo King .Experimente online!
fonte
if
, e a condição pode ser<1
range(n)
e incrementandoi
no lugarPari / GP , 17 bytes
Experimente online!
Pari / GP , 17 bytes
Experimente online!
fonte
Ruby , 100 bytes
Experimente online!
fonte
Stax , 3 bytes
Execute e depure
Primeiro elemento de fatoração primária.
fonte
Julia 0.6 , 25 bytes
Experimente online!
fonte