C# Console bir sayının mükemmel sayı olup olmadığını bulma

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Seçkin Üye
Katılım
8 Mar 2017
Mesajlar
406
Çözümler
1
Tepki puanı
42
9 HİZMET YILI
Algoritma
  1. Başla
  2. sayi , sayac = 2, top = 1 değişkenlerini al
  3. sayi değerini gir
  4. Eğer sayi % sayac = 0 ise top = top + sayac, sayac++, değilse sayac++ devem et
  5. Eğer sayac > ( sayi / 2 ) ise devam et,değilse 4'e git
  6. Eğer top = sayi ise yazdır "Mükemmel sayı", değilse yazdır "Mükemmel sayı değildir"
  7. Bitir

Mükemmel sayı sorusu bizim en sevdiğimiz soru çeşitlerindendir.Döngü kavramı karşımıza burada daha açık bir şekilde çıkmaktadır.Mükemmel sayının açıklamasına bakarsak,kendisini tam bölen sayıların toplamı, kendisine eşit olan sayılardır.Örnek 28'dir

1 + 2 + 4 + 7 + 14 = 28

Kod:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace dmg
{
   
   class Program
   {

       static void Main(string[] args)
       {

           int sayi;
           int sayac = 2;
           int top = 1;
           Console.Write("Sayıyı giriniz = ");
           sayi = Convert.ToInt32( Console.ReadLine() );
           dnz:

           if(sayi % sayac == 0)
           {

               top = top + sayac;
               sayac++;

           }
           else
           {

               sayac++;

           }

           if( sayac > sayi / 2 )
           {

               if( top == sayi )
               {

                   Console.WriteLine("Mükemmeldir");

               }
               else
               {

                   Console.WriteLine("Mükemmel değildir");

               }

           }
           else
           {

               goto dnz;

           }
           Console.ReadLine();

       }

   }

}
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst