Nombre perfecte

  • Vegeu aquesta plantilla
Sistema de nombres
en matemàtiques
Conjunts de nombres
ℕ ⊆ ℤ ⊆ ℚ ⊆ ℝ ⊆ ℂ
  • naturals
  • negatius
  • positius
  • enters
  • racionals
  • irracionals
  • reals
  • algebraics
  • transcendents
  • complexos
Nombres destacables
  • π ≈ 3,14159265...
  • e ≈ 2,7182818284...
  • Φ ≈ 1,6180339887...
  • i (amb i ² = −1)
  • Constants matemàtiques
  • Nombres enters amb propietats destacables
    Primers, abundants, amics, compostos, defectius, perfectes, sociables
    Altres extensions dels nombres reals
    Nombres especials

    Un nombre perfecte és un enter que és igual a la suma dels seus divisors positius, excepte ell mateix. Així, 6 és un nombre perfecte, perquè els seus divisors propis són 1, 2 i 3, i 6 = 1 + 2 + 3.[1] Els següents nombres perfectes són 28, 496 i 8.128.

    Els nombres perfectes estan relacionats amb els nombres primers de Mersenne: si M és un primer de Mersenne (un nombre primer que és una unitat menor que una potència de 2), aleshores M(M+1)/2 és un nombre perfecte, és a dir, que 2n−1(2n − 1) és un nombre perfecte. Això va ser demostrat per Euclides[2] en el segle IV abans de la nostra era:

    per a n = 2: 2¹(2² − 1) = 6
    per a n = 3: 2²(23 − 1) = 28
    per a n = 5: 24(2⁵ − 1) = 496
    per a n = 7: 2⁶(27 − 1) = 8128

    A més, Euler va demostrar en el segle xviii que tots els nombres perfectes parells són d'aquesta forma.[2] També està demostrat que l'última xifra de qualsevol nombre perfecte parell ha de ser 6 o 8.

    No es coneix l'existència de nombres perfectes senars. No obstant això, existeixen alguns resultats parcials: si hi ha un nombre perfecte imparell, ha de complir, entre d'altres, les condicions següents: ser major que 10300; tenir almenys 8 factors primers diferents (i com a mínim 11 si no és divisible per 3); un d'aquests factors ha de ser major que 107, dos d'aquests han de ser majors que 10.000 i tres han ser majors que 100; tenir, com a mínim, 75 factors primers (incloent-hi repeticions).

    Considerant la suma dels divisors propis, hi ha altres tipus de nombres.

    Implementació en informàtica

    En C++ es pot escriure un codi com el que segueix per tal de trobar si un nombre és perfecte. El mètode mostrat és el més eficient, amb cost O ( n ) {\displaystyle O({\sqrt {n}})} .

    bool es_perfecte (int n) {
     int sum=1;
     for (int compt=2; compt*compt<=n; ++compt) {
     if (compt*compt==n) sum=sum+compt;
     else if (n%compt==0) {
     sum=sum+compt;
     sum = sum + n/compt;
     }
     }
     if (sum==n and n!=0 and n!=1) return true; 
     else return false;
    }
    

    En Java:

    public static boolean perfecte(int n) {
        return divisors(n)==n && n!=0;
    }
    
    public static int divisors(int n) {
        int suma = 0;
        for (int i = 1; i < n; ++i) {
                if (n%i == 0) suma += i;
        }
        return suma;
    }
    

    En Python:

    def perfecte(n):
        return divisors(n) == n
    
    def divisors(n):
        suma = 0
        for i in range(1, n):
            if n%i == 0: suma += i
        return suma
    

    Referències

    1. Corbalán Yuste, F. et al.. Gamma 2 : matemàtiques : Educació Secundària, segon curs. 1a.. Barcelona: Vicens Vives, 2003, p. 8. ISBN 84-316-6978-2. 
    2. 2,0 2,1 Gardner, Martin. «11. Perfectos, amigos y sociables». A: Festival mágico-matemático (en castellà). 2a. Madrid: Alianza Editorial, 2018, p. 208. ISBN 978-84-8181-315-6 [Consulta: 22 febrer 2020]. 
    Registres d'autoritat
    Bases d'informació