ChronoMath, une chronologie des MATHÉMATIQUES
à l'usage des professeurs de mathématiques, des étudiants et des élèves des lycées & collèges

Nombres parfaits            Nombres quasi-parfaits

Rappelons qu'un nombre entier est dit parfait s'il est égal à la somme de ses diviseurs propres (diviseurs de ce nombre autres que lui-même : autrefois appelé partie aliquote). 1 étant rejeté, Le premier nombre parfait est 6 = 1 + 2 + 3 est parfait. Inférieurs à 10000, il n'y en a que trois autres :

  28 = 1 + 2 + 4 + 7 + 14.
  496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248.
  8128 = 1 + 2 + 4 + 8 + 16 + 32 + 64 + 127 + 254 + 508 + 1016 + 2032 + 4064

On est enclin à remarquer, comme Euclide en son temps que :

On constate par ailleurs que 3, 7, 31 et 127 sont premiers. Les nombres premiers de la forme Mn = 2n - 1 furent étudiés par Mersenne (1588-1648) et portent le nom de ce mathématicien français. C'est ainsi que l'étude des nombres parfaits pairs est liée à celle des nombres de Mersenne. L'existence de nombres parfaits impairs est encore de nos jours un problème ouvert. S'ils existent, ils sont extrêmement grands dépassant les 1500 chiffres décimaux !

Il est ainsi licite de conjecturer :

Tout entier de la forme 2n-1(2n - 1), avec 2n - 1 premier, est parfait.

Euclide écrivit et prouva (Livre IX, prop. 36) :

Si, à partir de l'unité, tant de nombres que l'on voudra sont successivement proportionnels en raison double jusqu'à ce que leur somme soit un nombre premier, et si cette somme multipliée par le dernier fait un nombre, leur produit sera un nombre parfait.

Preuve : posons k = 2n - 1. Ce nombre étant premier, d'après le théorème de théorème de Gauss, les diviseurs de p = 2n-1k, autres que p lui-même se limitent à :

1, 2, ..., 2n-1, k, 2k, ..., 2n-2k

En remarquant (progressions géométriques) que 1 + 2 + 2n-1 = 2n - 1 et 1 + 2 + 2n-2 = 2n-1 - 1, la somme des diviseurs de p est alors 2n - 1 + k(2n-1 - 1) = k2n-1 = p.

La réciproque de ce résultat, à savoir :

Tout entier parfait pair est de la forme 2n-1(2n - 1), n > 1, avec 2n - 1 premier

fut prouvée par Euler dans les années 1730.

Preuve : tout entier pair non nul peut s'écrire p = 2n-1k avec k ≥ 1 et n ≥ 2. Si k est pair, on peut le diviser par 2 autant que nécessaire quitte à augmenter n. On peut donc supposer k impair. Selon un résultat sur la somme σ des diviseurs d'un entier naturel ,  σ(p) = σ(2n-1k) = σ(2n-1)σ(k) car k et 2n-1 sont premiers entre eux. Comme rappelé ci-dessus σ(2n-1) = 2n - 1 et p étant parfait, la somme de ses diviseurs propres est p, donc σ(p) = p + p = 2p. Ce qui conduit à k/σ(k) = (2n - 1)/2n.

Or, deux entiers consécutifs sont premiers entre eux ( identité de Bezout), on en déduit qu'il existe un entier naturel u tel que k = u(2n - 1) et σ(k) = u2n. On aimerait bien u = 1 ! Si u > 1, σ(k) admet 1, k et u comme diviseurs distincts, d'où  σ(k) ≥ 1 + k + u. Mais 1 + k + u = 1 + u2n > u2n. Par suite u2n > u2n. absurde, donc u = 1 et k = 2n - 1.

Il nous faut montrer maintenant que 2n - 1 est premier. On vient de prouver que σ(k) = σ(2n - 1) = 2n. Si  un entier p n'est pas premier, il admet au moins un diviseur d autre que 1 et on a  σ(p) - p = 1 + d + ... > 1. Donc 2n - 1 est premier.

Deux propriétés intéressantes des nombres parfaits :     

1.  Tout nombre parfait peut s'écrire sous la forme 2n-1(2n - 1) = 2n(2n - 1)/2 : on voit donc qu'il est aussi la somme des 2n - 1 premiers entiers naturels ( Nicomaque). Autrement dit :

Si Mn est un nombre premier de Mersenne alors 1 + 2 + ... + Mn est parfait

Par exemple : M5 = 31 est un nombre premier de Mersenne. Donc 1 + 2+ 3 + ... + 31 = 31 x 32/2 = 496 est parfait.

2. En étudiant le chiffre des unités des puissances successives de 2, on constate facilement que :

Tout nombre parfait pair se termine par 6 ou 8.

2n-1 2n 2n - 1 2n-1(2n - 1)
2 4 3 6
4 8 7 8
8 6 5  à rejeter car 2n - 1 divisible par 5 ///
6 2 1 6
2 4 3 6
4 ... ...  
8      
6      
...      

Programmation de la méthode en JavaScript

On peut confier à l'ordinateur le soin de calculer les premiers nombres parfaits ne dépassant pas sa capacité de traitement des nombres entiers.

Le programme utilise la même "astuce" que pour une recherche de primarité (ou primalité, recherche d'un nombre premier) : si k divise n, alors k n ou bien k > n, l'éventualité k = n ne se produisant que si n est un carré parfait, carré d'un entier (sans pour autant être nécessairement un nombre parfait...)

On limite la recherche à k n, en effet : si k est un diviseur au plus égal à n, n/k sera un diviseur supérieur ou égal à n et la somme des diviseurs sera alors augmentée de k et de n/k. On obtient ainsi tous les diviseurs de n car d n d n n n/d n, n/d aura donc été "déjà essayé".

Nombres Fp de Fermat :              Décomposition en facteurs premiers et somme des diviseurs :

Un essai du programme sur un micro-ordinateur "compatible PC" avec processeur 2,4 Ghz a fourni :

Éviter de pousser les recherches au-delà de 8128, 4ème nombre parfait, car le cinquième nombre parfait est 33550336 avec n = 13. Le programme vous avertira...

 Pour "jouer", aidons un peu l'ordinateur en lui fournissant le 5ème nombre parfait ou presque... : on initialise à n = 33 550 335 au lieu de n = 1. Il s'agit donc de vérifier. L'écran affiche n = 33 550 336 immédiatement.

 Nombres amicaux , Nombres premiers



<SCRIPT LANGUAGE=JavaScript>
var bt
function calcule()
{
bt=0 ; n=1
n=eval(prompt("Nombre de départ :",n))
if (n>8128)
 {if(confirm("J'en ai peut-être pour 24 heures de calculs..."+"\n"+"Ok pour continuer"))
 {}
  else
  {bt=1}
  }
while (bt< 1)
{
n++
rac=Math.floor(Math.sqrt(n))  
// Math.floor = partie entière par défaut.
s=1

for (k=2;k<=rac;k++)
{if (n % k == 0) {s=s+k+n/k}}

if (s==n)
{
if (confirm("n= "+n+" est parfait"+"\n"+"Ok pour continuer"))
  {
  if (n=8128)
  {if(confirm("J'en ai au moins pour 24 heures de calculs..."+"\n"+"Ok pour continuer"))
   {}
   else
  {bt=1}
  }
}
else
{bt=1}
}
}
return
}
</SCRIPT>


Nombres de Mersenne :


© Serge Mehl - www.chronomath.com