C# Zengin Sayıları Bulma

Merhabalar, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde zengin sayıları bulmayı anlatacağım. Hadi başlayalım !
Öncelikle zengin sayının ne olduğundan bahsedelim. Kendisinden hariç pozitif tam sayı bölenlerinin toplamı kendisinden büyük olan sayılara zengin sayı denir. Örneğin 12 sayısını ele alalım. 12’nin pozitif tam sayı bölenleri 1, 2, 3, 4 ve 6’dır. 1+2+3+4+6=16 16, 12’den büyük olduğu için 12 sayısı bir zengin sayıdır. İşte bizde C# programlama dilini kullanarak istenilen aralığa kadar olan zengin sayıları bulacağız. Ben konsol projesi üzerinden anlatacağım fakat isteyenler farklı platformlarda da yapabilir, kodlar ve mantık birebir aynı olacaktır.
Öncelikle Visual Studio aracılığıyla bir tane konsol projesi oluşturalım ve kullanıcıdan kontrol edilecek aralığı isteyelim. İstenen değeri de integer bir değişkene atayalım.
Console.Write("Kaça Kadar Zengin Sayı Bulalım: ");
int max = Convert.ToInt32(Console.ReadLine());
Bundan sonra 1’den max sayısına kadar olan sayıları döngü yardımıyla dönecek ve her adımda ilgili sayının pozitif tam sayı bölenlerini bulup toplayacağız ve elde edilen toplamın ilgili sayıdan büyük olup olmadığını kontrol edeceğiz. Büyük ise ilgili sayı zengin sayıdır, değilse zengin sayı değildir. Pozitif tam sayı bölenlerini bulacağız dedik ama onu nasıl bulacağız derseniz, onu da şöyle anlatayım; farklı bir döngü yardımıyla 1’den ilgili sayıya kadar olan sayılar ile ilk döngüdeki ilgili sayıyı birbirine böleceğiz ve kalan sıfır ise o sayı tam sayı bölenlerinden biridir diyeceğiz.
Bu kadar teorik anlatımdan sonra, bu anlattıklarımızın kodunu yazalım;
for (int i = 1; i < max; i++)
{
int toplam = 0;
for(int j = 1; j < i; j++)
{
if(i % j == 0)
}
toplam += j;
}
if(toplam < i)
Console.WriteLine("{0} Sayısı Zengin Sayıdır", i);
}
Evet kod yazma işlemini de hallettik ve işimiz bitti. Projeyi derleyip çalıştırdığınızda 1’den istediğiniz sayıya kadar olan zengin sayıları bulabilirsiniz.
Bu dersimizde bu kadardı, tüm C# derslerimize buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.