A547 – Les entiers carrément parfaits
En généralisant la notion bien connue de nombre parfait, on dit qu’un entier est k-carrément parfait s’il est égal à la somme des carrés de ses k premiers diviseurs classés par ordre croissant.
Trouver les entiers n inférieurs à 2011 et les entiers k > 1 tels que n est k-carrément parfait.
Solution proposée par Claudio Baiocchi
Il s’agit d’un intéressant exercice de programmation, notamment pour ce qui concerne la propriété de divisibilité. En particulier en JavaScript le reste de la division entre les entiers et est donné par ; en utilisant cette fonction on obtient quasi-instantanément les résultats suivants:
1 est 1-carrément parfait (diviseurs: 1)
130 est 4-carrément parfait (diviseurs: 1, 2, 5, 10)
1860 est 11-carrément parfait (diviseurs: 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30)
Si on veut étendre la recherché au delà de 2011, il vaut mieux utiliser un langage plus performant. Par exemple en Pascal, où c’est qui fournit le reste de la division entière entre et , on peut traiter le problème jusqu’à valeurs au plus égales à 2147483647; par exemple, pour traiter les entiers jusqu’à
10000000 il faudra attendre à peu près cinq minutes:
1 est 1-carrément parfait (diviseurs: 1, 1)
130 est 4-carrément parfait (diviseurs: 1, 1, 2, 5, 10)
1860 est 11-carrément parfait (diviseurs: 1, 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30)
148480 est 19-carrément parfait (diviseurs: 1, 1, 2, 4, 5, 8, 10, 16, 20, 29, 32, 40, 58, 64, 80, 116, 128, 145, 160, 232)
3039520 est 31-carrément parfait (diviseurs: 1, 1, 2, 4, 5, 8, 10, 11, 16, 20, 22, 32, 40, 44, 55, 80, 88, 110, 121, 157, 160, 176, 220, 242, 314, 352, 440, 484, 605, 628, 785, 880)