Se um número inteiro positivo tiver (estritamente) menos fatores primos (sem contar as multiplicidades) que seu sucessor e seu antecessor, o chamaremos de número pobre em fatores .
Em outras palavras, e , onde é o número de factores primos únicas de .N
Tarefa
Você pode escolher entre os seguintes formatos de E / S:
- Pegue um número inteiro e produza o número pobre de fatores . Caso você escolha este, pode ser 0 ou 1 indexado.N th N
- Pegue um número inteiro positivo e produza os primeiros N números pobres em fatores.
- Imprima a sequência indefinidamente.
Você pode obter entrada e fornecer saída através de qualquer método padrão , em qualquer linguagem de programação , observando que essas brechas são proibidas por padrão. Esse é o código de golfe, então a submissão mais curta que obedece às regras vence.
Não incluirei casos de teste separados, porque os métodos de competição são diferentes, mas você pode consultar os 100 primeiros termos desta sequência, que é OEIS A101934 :
11, 13, 19, 23, 25, 27, 29, 37, 41, 43, 47, 49, 53, 59, 61, 64, 67, 71, 73, 79, 81, 83, 89, 97, 101, 103, 107, 109, 113, 121, 125, 131, 137, 139, 149, 151, 155, 157, 163, 167, 169, 173, 179, 181, 191, 193, 197, 199, 211, 221, 223, 227, 229, 233, 239, 241, 243, 251, 259, 263, 265, 269, 271, 277, 281, 283, 289, 293, 307, 309, 311, 313, 317, 331, 337, 341, 343, 347, 349, 353, 359, 361, 365, 367, 371, 373, 379, 383, 389, 397, 401, 407, 409, 419, 421, 431, 433, 439, 441, 443
Como exemplo, ocorre nesta sequência porque ω ( 25 ) = 1 (5), ω ( 26 ) = 2 (2 e 13) e ω ( 24 ) = 2 (2 e 3), então ω ( 25 ) < ω ( 24 ) e ω ( 25 ) < ω ( 26 ) .
n =
antes de cada valor?Respostas:
Braquilog , 21 bytes
Experimente online!
Imprime infinitamente.
Explicação
fonte
Geléia ,
1312 bytesImprime os primeiros n números com fator ruim.
Experimente online!
Como funciona
fonte
Python 2 ,
123119 bytesExperimente online!
fonte
MATL ,
262422 bytesImprime a sequência indefinidamente.
Experimente online!
Explicação
fonte
Casca , 22 bytes
Imprime a sequência indefinidamente, tente online ou visualize o primeiro N !
Alternativamente,
§oΛ>←t
pode ser usado em vez deΠtSM<←
.Explicação
fonte
Pitão , 14 bytes
Experimente aqui!
Inicialmente, foi uma sugestão sobre a resposta da Dopapp , mas eles me disseram para publicá-la separadamente.
Como funciona?
fonte
Haskell,
10586 bytesAgradecemos ao @Wheat Wizard, @Bruce Forte e @Laikoni por salvar 19 bytes.
[n|n<-[2..],d n<d(n-1),d n<d(n+1)] d x=[1|n<-[1..x],x`rem`n<1,all((>0).rem n)[2..n-1]]
fonte
rem
==0
e/=0
pode ser relacionado com<1
e>0
respectivamente.let
definir se ad
função auxiliar é boa (consulte o guia de regras de golfe ). Tambémsum
pode ser omitido, a comparação funciona da mesma maneira nas listas. 86 bytes: Experimente online!Oitava ,
878379 bytesAgradecemos ao @Cows quack por salvar um byte e ao @Luis Mendo por salvar
trêsseis bytes!Imprime a sequência indefinidamente.
Experimente online!
73 bytes com avanço
n =
antes de cada valor:Experimente online!
fonte
f
pode se tornarf=@(n)length(unique(factor(n)))
por um byte a menos.05AB1E ,
1413 bytesEmite o enésimo número de fator ruim (indexado 1)
Experimente online!
Explicação
fonte
µ
, então acho que vou apenas apontar minha alternativa -N<N>Ÿ
pode substituir3LN+Í
, se isso ajudar.®XŸN+
também funciona. Ou0®X)N+
, nesse casoÀ
, não seria necessário. Infelizmente, todos acabam na mesma contagem de bytes.Pitão,
3025 bytesEste é o meu primeiro golfe real em Pyth, então qualquer comentário é muito apreciado.
Um grande obrigado ao Xcoder!
Explicação
TIO .
fonte
.f!-.ml{Pb}tZh
(imprime o primeiro n) (.f
recupera os primeiros n valores que satisfazem uma condição[1,2,3,...]
e usa uma variávelZ
,}tZh
gera o intervalo inteiro[Z - 1 ... Z + 1]
,.m
retorna a lista de elementos com valor mínimo de função (comb
),l{Pb
obtém a contagem de divisores distintos,-
devoluçõesZ
da lista,!
aplica negação lógica)h
is+1
,t
is-1
, whileK
é uma variável que é atribuída sem=
. Por exemplo,K4
atribuiK
a4
. Você pode acessá-lo usandoK
.JavaScript (ES6), 94 bytes
Retorna o número enésimo fator pobre, indexado 0.
Experimente online!
Quão?
Primeiro, definimos a função P () que retorna o número de fatores primos exclusivos de um dado inteiro.
O código de empacotamento agora é lido como:
fonte
Japt ,
292726 bytesNão totalmente feliz com isso, mas pelo menos é melhor do que minha primeira tentativa, que tinha mais de 40 bytes!
Emite o
N
número th na sequência, indexada em 1.Tente
Explicação
Entrada implícita de número inteiro
U
.Retorne o primeiro número inteiro
X
que retorna true quando passado pela função a seguir.Atribua a matriz
[-1,0,1]
aX
.Passe cada elemento desse array por uma função que primeiro adicione o valor atual de
X
.Obtenha o comprimento (
Ê
) dosâ
fatores únicos ( ) primos (k
) do resultado.Gire a matriz resultante uma para a direita.
Retire (
o
) o último elemento deX
e verifique se todos os elementos restantes são maiores que ele.Nesse caso, diminua
U
e verifique se é igual a 0.fonte
Python 3 , 97 bytes
Em teoria, isso imprime a sequência indefinidamente. Na prática,
g
eventualmente excede o limite de recursão.Experimente online!
fonte
C (gcc) , 126 bytes
Experimente online!
fonte
Limpo ,
130123117 bytesEquivale a um número infinito de termos da sequência. Como são todas as compreensões aninhadas, não é possível aproveitar muito bem a redução de gráficos e, portanto, é bastante lento, mesmo para um algoritmo tão ruim.
Experimente online!
fonte
NARS APL, 124 bytes, 62 caracteres
Ele deve retornar a resposta até 1E4, depois retornar -1 erro; supõe que 9..10xargumento tenha números suficientes; teste:
fonte