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

{{ page.title }}

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 Yapısı

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

BOT Benson Topluluk kurucusu ve bir yazılımcı.