Dado que você tem uma sequência infinita de números definidos da seguinte maneira:
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
...
A sequência é a soma dos divisores de n
, incluindo 1 e n
.
Dado um número inteiro positivo x
como entrada, calcule o número mais baixo n
que produzirá um resultado maior que x
.
Casos de teste
f(100) = 48, ∑ = 124
f(25000) = 7200, ∑ = 25389
f(5000000) = 1164240, ∑ = 5088960
Saída esperada
Seu programa deve retornar ambos n
e a soma de seus divisores, da seguinte maneira:
$ ./challenge 100
48,124
Regras
Este é o código-golfe, portanto o código mais curto em bytes, em cada idioma, vence.
n
e f(n)
, mas não o diz em nenhum lugar da especificação.
f(1000) = 48
? A soma do divisor de 48
is é124
n
s divisores? Você provavelmente desejará declarar isso explicitamente.