Cómo detectarlos
Toma un entero positivo k. Encuentra sus divisores . Encuentra los factores primos distintos de cada divisor . Suma todos estos factores juntos. Si este número (suma) es un divisor de k ( si la suma divide k ) entonces, este número k, es un número BIU
Ejemplos
Tomemos el número 54
Encuentra todos los divisores: [1, 2, 3, 6, 9, 18, 27, 54]
Encuentra los factores primos distintos de cada divisor
NOTA: Para el caso de 1
tomamos como factor primo distinto1
1 -> 1
2 -> 2
3 -> 3
6 -> 2,3
9 -> 3
18 -> 2,3
27 -> 3
54 -> 2,3
Ahora tomamos la suma de todos estos factores primos que
1+2+3+2+3+3+2+3+3+2+3=27
27
divide 54 (no deja resto)
Entonces, 54
es un número BIU .
Otro ejemplo (rápido) para k=55
Divisores: [1,5,11,55]
Suma de factores primos distintos: NO1+5+11+5+11=33
33
es un divisor de 55, por eso NO es un número BIU .55
Números BIU
Aquí están los primeros 20 de ellos:
1,21,54,290,735,1428,1485,1652,2262,2376,2580,2838,2862,3003,3875,4221,4745, 5525,6750,7050 ...
¡pero esta lista continúa y hay muchos números de BIU que esperan ser descubiertos por usted!
El reto
Dado un entero n>0
como entrada , genera el enésimo número de BIU
Casos de prueba
Entrada-> Salida
1->1
2->21
42->23595
100->118300
200->415777
300->800175
Esto es codegolf. ¡La respuesta más corta en bytes gana!
1
no es primo ...Respuestas:
Jalea ,
1615 bytesPruébalo en línea!
Woohoo por las construcciones (pero a veces se esconden misteriosamente de mí, así que -1 byte gracias a @HyperNeutrino )
Cómo funciona
fuente
ÆfQ€
lugar deÆFḢ€€
but they mysteriously hide from me sometime
"Jelly es un juego de ocultación atómica y búsqueda de programadores" ~ i criÆDÆFSSḢ‘ḍ
.05AB1E , 9 bytes
Utiliza la codificación 05AB1E . Pruébalo en línea!
fuente
Mathematica, 85 bytes
fuente
Casco , 13 bytes
Pruébalo en línea!
Explantacion
fuente
En realidad , 16 bytes
Pruébalo en línea!
Explicación:
fuente
Pyth , 22 bytes
Pruébalo aquí!
Esta es mi primera solución Pyth, comencé a aprenderla gracias a las recomendaciones de algunos usuarios muy amables en el chat: -) ... Me tomó alrededor de una hora resolverla.
Explicación
fuente
Haskell , 115 bytes
Todas las comprensiones de la lista aquí probablemente se pueden reducir, pero no estoy seguro de cómo. Sugerencias de golf bienvenidas! Pruébalo en línea!
No golfista
Esta respuesta es en realidad tres funciones combinadas.
fuente
Japt ,
2221 bytesPruébalo
¡Siento que el
g
método de función debería conducir a una solución más corta, pero no puedo entender cómo funciona!Explicación
Entrada implícita de entero
U
.A partir de
0
, devuelve el primer número que devuelve verdadero cuando se pasa por la siguiente función,X
siendo el número actual.Obtenga los divisores (
â
) deX
y pase cada uno a través de una función.Obtenga los factores (
k
) del elemento actual y elimine los duplicados (â
).Reduzca la matriz agregando después de hacer primero lo mismo con cada sub-matriz.
Añadir
1
al resultado.Prueba si
X
es divisible por ese número.Incremento
J
(inicialmente-1
) por el resultado de esa prueba.Verifique la igualdad con
U
.fuente