C Programlama İle Mükemmel Sayıları Nasıl Buluruz (Perfect Numbers)
Mükemmel sayı şöyle açıklanabilir. Kendisi hariç bütün pozitif bölenlerinin toplamı kendisine eşit olan sayılardır. 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 ilgilidir.
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.
* 6,
* 28,
* 496,
* 8128,
* 33550336,
* 8589869056,
* 137438691328,
* 2305843008139952128
C programlama dili ile iki sayı arasındaki mükemmel sayıları şu şekilde bulabiliriz :
Kod: Tümünü seç
#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;
}
Ekran çıktısı şu şekilde
Sizde bu adreste deneyebilirsiniz :
Kod: Tümünü seç
https://www.programiz.com/c-programming/online-compiler/