C# Console bir sayının mükemmel sayı olup olmadığını bulma
Algoritma
- Başla
- sayi , sayac = 2, top = 1 değişkenlerini al
- sayi değerini gir
- Eğer sayi % sayac = 0 ise top = top + sayac, sayac++, değilse sayac++ devem et
- Eğer sayac > ( sayi / 2 ) ise devam et,değilse 4’e git
- Eğer top = sayi ise yazdır “Mükemmel sayı”, değilse yazdır “Mükemmel sayı değildir”
- 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();
}
}
}
19 Aralık 2017