next up previous contents index
suivant: Les parallélépipèdes rectangles presque monter: Les nombres parfaits et précédent: L'énoncé   Table des matières   Index

La solution

On utilise l'instruction idivis(n) qui renvoie la liste des diviseurs de l'entier n et l'instruction sum(L) qui renvoie la somme de la liste L.
Pour ne pas avoir 2 fois le même couple on n'affiche que les couples [j, a] avec j $ \leq$ a.
On tape avec les instructions françaises :
amiable(n):={
  local j,a,b,L;
  L:=NULL;
  pour j de 2 jusque n faire
    a:=sum(idivis(j))-j;
    b:=sum(idivis(a))-a;
    si b==j et j<=a alors L:=L,[j,a]; fsi;
  fpour;
  retourne L;
}:;
On tape :
amiable(11000) 0n obtient :
[6,6],[28,28],[220,284],[496,496],[1184,1210],[2620,2924], [5020,5564],[6232,6368],[8128,8128],[10744,10856]
Les nombres parfaits a sont les nombres amiables [a, a].



Documentation de giac écrite par Renée De Graeve