Como identificá-los
Tome um número inteiro positivo k. Encontre seus divisores . Encontre os fatores primos distintos de cada divisor . Soma todos esses fatores juntos. Se esse número (soma) for um divisor de k ( se a soma dividir k ), esse número k será um número BIU
Exemplos
Vamos pegar o número 54
Encontre todos os divisores: [1, 2, 3, 6, 9, 18, 27, 54]
Encontre os fatores primos distintos de cada divisor
NOTA: Para o caso 1
, tomamos como fator primo distinto1
1 -> 1
2 -> 2
3 -> 3
6 -> 2,3
9 -> 3
18 -> 2,3
27 -> 3
54 -> 2,3
Agora, tomamos a soma de todos esses fatores primos e
1+2+3+2+3+3+2+3+3+2+3=27
27
divide 54 (não deixa resto).
Portanto, 54
é um número BIU .
Outro exemplo (rápido) para k=55
divisores: [1,5,11,55]
soma de fatores primos distintos: NÃO1+5+11+5+11=33
33
é um divisor de 55, é por isso que NÃO é um número da BIU .55
Números BIU
Aqui estão os 20 primeiros:
1,21,54,290,735,1428,1485,1652,2262,2376,2580,2838,2862,3003,3875,4221,4745, 5525,6750,7050 ...
mas essa lista continua e há muitos números da BIU que estão esperando para serem descobertos por você!
O desafio
Dado um número inteiro n>0
como entrada , de saída do número BIU enésimo
Casos de teste
Entrada-> Saída
1->1
2->21
42->23595
100->118300
200->415777
300->800175
Este é o codegolf . A resposta mais curta em bytes vence!
1
não é primo ...Respostas:
Geléia ,
1615 bytesExperimente online!
Woohoo para builtins (mas eles misteriosamente se escondem de mim às vezes com -1 byte graças a @HyperNeutrino )
Como funciona
fonte
ÆfQ€
vez deÆFḢ€€
but they mysteriously hide from me sometime
"Jelly é um jogo de esconde átomo e programador procurar" ~ i cri everytimÆDÆFSSḢ‘ḍ
.05AB1E , 9 bytes
Usa a codificação 05AB1E . Experimente online!
fonte
Mathematica, 85 bytes
fonte
Casca , 13 bytes
Experimente online!
Explantaion
fonte
Na verdade , 16 bytes
Experimente online!
Explicação:
fonte
Pitão , 22 bytes
Experimente aqui!
Esta é minha primeira solução Pyth, comecei a aprendê-la graças às recomendações de alguns usuários muito gentis no bate-papo: -) ... Demorei cerca de uma hora para resolver.
Explicação
fonte
Haskell , 115 bytes
Todas as compreensões da lista aqui provavelmente podem ser reduzidas, mas não sei como. Sugestões de golfe são bem-vindas! Experimente online!
Ungolfing
Esta resposta é na verdade três funções reunidas.
fonte
Japonês ,
2221 bytesTeste-o
Eu sinto que o
g
método de função deve levar a uma solução mais curta, mas não consigo descobrir como ele funciona!Explicação
Entrada implícita de número inteiro
U
.A partir de
0
, retorne o primeiro número que retorna true quando passado pela função a seguir,X
sendo o número atual.Obtenha os divisores (
â
) deX
e passe cada um por uma função.Obtenha os fatores (
k
) do elemento atual e remova as duplicatas (â
).Reduza a matriz adicionando depois de fazer o mesmo com cada sub-matriz.
Adicione
1
ao resultado.Teste se
X
é divisível por esse número.Incremento
J
(inicialmente-1
) pelo resultado desse teste.Verifique a igualdade com
U
.fonte