Dado que tiene una secuencia infinita de números definidos de la siguiente manera:
1: 1 = 1
2: 1 + 2 = 3
3: 1 + 3 = 4
4: 1 + 2 + 4 = 7
5: 1 + 5 = 6
6: 1 + 2 + 3 + 6 = 12
7: 1 + 7 = 8
...
La secuencia es la suma de los divisores de n
, incluidos 1 y n
.
Dado un entero positivo x
como entrada, calcule el número más bajo n
que producirá un resultado mayor que x
.
Casos de prueba
f(100) = 48, ∑ = 124
f(25000) = 7200, ∑ = 25389
f(5000000) = 1164240, ∑ = 5088960
Rendimiento esperado
Su programa debería devolver ambos n
y la suma de sus divisores, así:
$ ./challenge 100
48,124
Reglas
Este es el código de golf, por lo que gana el código más corto en bytes, en cada idioma.
n
y f(n)
, pero no lo dice en ninguna parte de la especificación.
f(1000) = 48
? La suma del divisor 48
es124
n
s divisores? Probablemente querrá declarar eso explícitamente.