De todos los años que llevo haciendo este desafío, 2017 es el primer año que ha sido un número primo. Entonces la pregunta será sobre los números primos y sus propiedades.
Su tarea es producir un programa o función que tome un entero positivo arbitrariamente grande como entrada, y genere o devuelva si el número es 2.017-friable , es decir, si el factor primo más grande en ese número es 2.017 o menos.
Algunos ejemplos de entradas y sus salidas:
1 (has no prime factors)
true
2 (= 2)
true
80 (= 2 x 2 x 2 x 2 x 5)
true
2017 (= 2017)
true
2019 (= 3 x 673)
true
2027 (= 2027)
false
11111 (= 41 x 271)
true
45183 (= 3 x 15061)
false
102349 (= 13 x 7873)
false
999999 (= 3 x 3 x 3 x 7 x 11 x 13 x 37)
true
1234567 (= 127 x 9721)
false
4068289 (= 2017 x 2017)
true
Su programa no tiene que emitir literalmente truey false- cualquier valor verdadero o falso, y de hecho, dos salidas diferentes que sean consistentes entre los casos verdadero y falso están bien.
Sin embargo, no puede usar ningún primo en su código fuente. Los premios vienen en dos tipos:
Caracteres, o secuencias de caracteres, que representan literales de números primos.
Los personajes
2,3,5, y7son ilegales en lenguas cuando los números son símbolos válidos.El número
141es ilegal porque contiene41, aunque sea válido1y de4otra manera.Los caracteres
ByD(obyd) son ilegales en los idiomas en los que generalmente se usan como 11 y 13, como CJam o Befunge.
Caracteres que tienen valores Unicode con valores primos o que contienen bytes con valores primos en su codificación.
Los caracteres
%)+/5;=CGIOSYaegkmqson ilegales en ASCII, así como el carácter de retorno de carro.El carácter
óes ilegal en UTF-8 porque tiene su codificación0xb3. Sin embargo, en ISO-8859-1, su codificación es simple0xf3, que es compuesta y, por lo tanto, está bien.
El código más corto para hacer lo anterior en cualquier idioma gana.
=reglas descarta la mayoría de los idiomas estándar ...