Kendisi hariç bütün pozitif bölenlerinin toplamı kendisine eşit olan sayılara mükemmel sayı denir. Mükemmel sayı terimini ilk olarak Pisagor ortaya atmıştır. Pisagor'a göre sayılarda mükemmellik, bir sayının bölenleriyle ilgiliydi.
6 bir mükemmel sayıdır. Çünkü 6'nın pozitif bölenleri 1,2,3 ve 6'dır. 1+2+3=6 Bunun gibi 28 de mükemmel sayıdır. 28 = 1 + 2 + 4 + 7 + 14 Sayılar büyüdükçe mükemmel sayıları bulmak daha da zorlaşır. Günümüz bilgisayarlarının işlem gücüyle 34 milyondan fazla basamağı olan mükemmel sayılar keşfedildi.
* 28,
* 496,
* 8128,
* 33550336,
* 8589869056,
* 137438691328,
* 2305843008139952128
*................................................
C programlama dili ile iki sayı arasındaki mükemmel sayıları bulalım:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x, y, bir, iki, z;
printf("--------------------------------------- \n");
printf("Birinci sayiyi giriniz: ");
scanf("%d", &bir);
printf("ikinci sayiyi giriniz: ");
scanf("%d", &iki);
printf("iki sayi araligindaki mukemmel sayilar: \n");
printf("--------------------------------------- \n");
printf("%d ve %d: arasinda \n", bir, iki);
printf("--------------------------------------- \n");
for(x=bir; x<=iki; x++)
{
z = 0;
for(y=1; y<x; y++)
{
if(x % y == 0)
{
z += y;
}
}
if(z == x)
{
printf("%d, ", x);
}
}
return 0;
}