C Dili İle Mükemmel Sayı Bulma

0
283

C Dili ile İstenilen Sayıya Kadar Olan Mükemmel Sayıları Bulan Algoritma


Bugün konsolda istenilen sayıya kadar olan mükemmel sayıları bulan bir program yazacağız. Ancak bunu yazmadan önce bilmemiz gereken şey mükemmel sayının ne olduğu.

Mükemmel sayı, kendisi hariç bölenleri toplamı kendisine eşit olan sayı mükemmel sayıdır.

Örnek 6 => 1 + 2 + 3 = 6

Yazarken mod ve for döngüsü az çok bilinmeli.Programı yazarken kullanacağımız mantık şudur;

Öncelikle for döngüsü ile i=1’den istenilen sayiya kadar olan sayıları döndüren bir döngü yazacağız. Daha sonra bu döngünün içinde yeni bir döngü ile i’nin 1 eksiğinden 1’e kadar olan sayılara kadar mod’unu alıp eğer mod değeri 0’a eşitse yani böleni ise toplam adında değişkenimize bölenimizi ekliyoruz. 1.For döngüsünün içinde 2.For döngüsünün dışında olacak şekilde toplam adındaki değişkenimizi i ile kıyaslayıp eğer eşitse Mükemmel sayı olarak yazdıracağız.

  int hedef,i;
printf("Hangi Sayiya Kadar Olan Mukemmel Sayilar Getirilsin:");
 scanf("%d",&hedef);
 for (i=1;i<=hedef;i++){
    int mod,j,toplam=0;
    for (j=1;j<=i-1;j++){
        mod = i % j;
        if (mod==0){
            toplam += j;
        }
    }

    if (toplam==i){
        printf("%d \n",i);
    }

 }

Anlamadığınız bir yer veya kafanıza takılan bir şey olursa çekinmeden sorabilirsiniz. Yardım etmekten mutluluk duyarım.

CEVAP VER