Nombres amics

From Wikipedia, the free encyclopedia

Els nombres amics són dos nombres enters relacionats de manera que la suma dels divisors propis del primer és igual al segon, i la suma dels divisors propis del segon és igual al primer.

Per exemple, 220 i 284 són nombres amics, ja que la suma dels divisors propis de 220, 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284, i la suma dels divisors propis de 284, 1 + 2 + 4 + 71 + 142 = 220.

El matemàtic àrab Thàbit ibn Qurra derivà, cap al 850, una fórmula que permet generar nombres amics. Si

p = 3 × 2n-1 - 1,
q = 3 × 2n - 1,
r = 9 × 22n-1 - 1,

on n > 1 és un enter qualsevol i p, q i r són primers, llavors 2npq i 2nr són una parella de nombres amics. Cal notar que aquesta fórmula permet generar nombres amics, però no tots els nombres amics. Per exemple, ens proporciona les parelles (220, 284), (17.296, 18.416) i (9.363.584, 9.437.056), però no la parella (6.232, 6.368).

Es pot considerar que els nombres perfectes són un cas especial de nombres amics, ja que la suma dels seus divisors propis és igual a ell mateix.

Exemples

Els primers parells de nombres amics coneguts són els següents:[1]

Més informació Ordre, Primer nombre ...
OrdrePrimer nombreSegon nombre
1220284
21.1841.210
32.6202.924
45.0205.564
56.2326.368
610.74410.856
712.28514.595
817.29618.416
963.02076.084
1066.92866.992
1167.09571.145
1269.61587.633
1379.75088.730
Tanca

Implementació en informàtica

En C++ es pot construir un codi que automatitzi la cerca de nombres amics. A les línies de sota, l'usuari pot introduir dos nombres i el programa dirà si són amics o no.

#include <iostream>
using namespace std;
int suma_divisors(int a) {
int s = 0;
for(int i = 1; i < a; ++i) if(a%i==0) s += i;
return s;
}
bool son_amics(int a, int b) {
if(a == suma_divisors(b) && b == suma_divisors(a)) return true;
return false;
}

Referències

Vegeu també

Enllaços externs

Wikiwand - on

Seamless Wikipedia browsing. On steroids.