Bildiğiniz gibi kendisi ve 1 den başka hiçbir sayıya bölünmeyen sayılara asal, bölenleri toplamı kendisine eşit olan sayılara da mükemmel sayı denir matematikte.
Şimdi c# kullanarak bunların nasıl kontrol edilebileceklerine bir bakalım. Yapacağımız program şu şekilde görünsün öncelikle. 3 buton, 3 label, 1 textbox, 2 radiobuton, 1 tane de groupbox yeterli bunun için.
Gelelim kodlarımıza. Temizle butonunun click kısmına şunları yazıyoruz;
textBox1.Text = “”;
radioButton1.Checked = false;
radioButton2.Checked = false;Çıkış butonuna da bunları;
Application.Exit();
Kontrol Et butonuna ise;
int sayi = 0;
int kontrol = 1;
try
{
sayi = Convert.ToInt32(textBox1.Text); //String deÄŸeri integer’a çeviriyoruz.
if (radioButton1.Checked == false && radioButton2.Checked == false) //seçenek seçmezse hata ver
MessageBox.Show(“Sayı Kontrol seçeneÄŸi seçmelisiniz..”, “Hata…”);
else if (radioButton1.Checked == true)
{
if (sayi == 2)
MessageBox.Show(sayi + ” asal bir sayıdır.”, “Asal Sayı Kontrolü”); //2 ise direk asal zaten
else
{
for (int i = 2; i < sayi; i++)
{
if (sayi % i == 0) //sayı mod i dediğimiz tam bölünüyor mu diye
{
kontrol = 0;
MessageBox.Show(“Bu sayi asal degildir.”);
break;
}
else
continue;
}
if (kontrol == 1)
MessageBox.Show(sayi + ” asal bir sayıdır.”, “Asal Sayı Kontrolü”);
}
}else if (radioButton2.Checked == true)
{
int toplam = 0;
for (int i = 1; i < sayi; i++)
{
if (sayi % i == 0) //bölenlerini bulup toplamaya başlıyoruz her döngüde
toplam += i;
}if (toplam == sayi) //toplam kendisine eşitse mükemmeldir
MessageBox.Show(“Bu mükemmel bir sayıdır.”, “Mükemmel Sayı Kontrolü”);
else
MessageBox.Show(“Bu mükemmel sayı deÄŸildir.”, “Mükemmel Sayı Kontrolü”);
}
}
catch
{
MessageBox.Show(“İstenmeyen bi olay oldu gene!!”);
MessageBox.Show(“Kusura bakma ama kapatmam lazım uygulamayı!!”);
textBox1.Text = “”;
radioButton1.Checked = false;
radioButton2.Checked = false;
}Gördüğünüz üzere bu da böyle
![]()

Bu yazı toplam 3.136 defa okunmuş.
Yazıya
Şaka mı yaptınız anlamadım, Bu kod bloğu çok zayıftır, zamanla patlar:) en azından int yerine double atasaydnız.
sadece yeni başlayan arkadaşların genel mantığı kavraması amacıyla yapılan basit bir anlatım bu. Siz yaparken kendi bildiğiniz gibi yaparsınız. Şaka yapmadan tabi