14 Aralık 2017 Perşembe

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;
}

Hiç yorum yok:

Yorum Gönder

Copyright 2013-2017 | İbrahim BAYRAKTAR /dev/null Web Günlüğü