Mukemmel Sayılar etiketine sahip kayıtlar gösteriliyor.
Mukemmel Sayılar etiketine sahip kayıtlar gösteriliyor.

C Programlama Mükemmel Sayıları Bulmak (Perfect Numbers)

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. 

* 6,
* 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;
}