Dato che hai una sequenza infinita di numeri definita come segue:
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 sequenza è la somma dei divisori di n, inclusi 1 e n.
Dato un numero intero positivo xcome input, calcola il numero più basso nche produrrà un risultato maggiore di x.
Casi test
f(100) = 48, ∑ = 124
f(25000) = 7200, ∑ = 25389
f(5000000) = 1164240, ∑ = 5088960
Uscita prevista
Il tuo programma dovrebbe restituire sia n la somma dei suoi divisori, in questo modo:
$ ./challenge 100
48,124
Regole
Questo è code-golf, quindi vince il codice più breve in byte, in ogni lingua.
n e f(n) , ma non lo dici da nessuna parte nelle specifiche.
f(1000) = 48? La somma divisore di 48is124
ns divisori? Probabilmente vorrai affermarlo esplicitamente.