La formula
Tomemos por ejemplo el número 300
- Los factores primos de 300 son
[2, 3, 5]
(números únicos que son factores de 300 y primos) - Cuadrar cada uno de esos números te dará
[4, 9, 25]
- Sumar esa lista te dará
4 + 9 + 25 = 38
- Finalmente reste esa suma (38) de su número original
300-38 = 262
(este es el resultado)
Entrada
Su entrada será un número entero positivo mayor que 2. Debe verificar todos los números del 2 al valor de entrada (inclusive) y encontrar el número que produce el mayor resultado con la fórmula anterior.
Salida
Su salida será dos números separados por un espacio, una coma, una nueva línea o lo que su idioma permita (la separación es necesaria para distinguir los dos números). Estos pueden enviarse a un archivo, stdout o lo que sea que use su idioma. Su objetivo es encontrar el número en el rango que produce la salida máxima cuando se ejecuta la fórmula anterior. El primer número que se muestra debe ser el número inicial (como 300) y el segundo número debe ser el resultado que produjo la fórmula (como 262)
Casos de prueba
Input: 3 Output: 2, -2
Input: 10 Output: 8, 4
Input: 50 Output: 48, 35
Input: 1000 Output: 1000, 971
Input: 9999 Output: 9984, 9802
Trabajado a través del ejemplo
Considere la entrada de 10, debemos ejecutar la fórmula para todos los números del 2 al 10 (inclusive)
Num PrimeFacs PrimeFacs^2 SumPrimeFacs^2 Result
2 [2] [4] 4 -2
3 [3] [9] 9 -6
4 [2] [4] 4 0
5 [5] [25] 25 -20
6 [2, 3] [4, 9] 13 -7
7 [7] [49] 49 -42
8 [2] [4] 4 4
9 [3] [9] 9 0
10 [2, 5] [4, 25] 29 -19
Como puede ver, el mejor resultado es el 4
resultado de ingresar el valor 8
en la fórmula. Eso significa la salida para una entrada de10
debería ser8, 4
Puntaje y Reglas
Se aplican las reglas predeterminadas para entradas y salidas: Predeterminado para Code Golf: Métodos de entrada / salida
Las lagunas estándar están prohibidas: Lagunas que están prohibidas por defecto
presentaciones pueden ser funciones o programas completos
El código más corto en bytes gana
50
: 35, 48
?