Étant donné que vous avez une séquence infinie de nombres définis comme suit:
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 séquence est la somme des diviseurs de n, y compris 1 et n.
Étant donné un entier positif xen entrée, calculez le nombre le plus bas nqui produira un résultat supérieur à x.
Cas de test
f(100) = 48, ∑ = 124
f(25000) = 7200, ∑ = 25389
f(5000000) = 1164240, ∑ = 5088960
Production attendue
Votre programme doit renvoyer les deux n et la somme de ses diviseurs, comme ceci:
$ ./challenge 100
48,124
Règles
Il s'agit de code-golf, donc le code le plus court en octets, dans chaque langue, gagne.
n et f(n) , mais vous ne le dites nulle part dans la spécification.
f(1000) = 48? La somme des diviseurs de 48est124
ndiviseurs s? Vous voudrez probablement le dire explicitement.