İki sayı arasındaki asal sayıları bulmak

İki metin kutusuna(TextBox) iki sayı girilecektir. Girilen iki sayı arasındaki asal sayıları bulup Listbox nesnesine eklettiriniz. 





protected void btnBul_Click(object sender, EventArgs e)
    {
        int sayi1 = int.Parse(txtSayi1.Text);
        int sayi2 = int.Parse(txtSayi2.Text);
 
        LBox.Items.Clear();
 
        for (int i = sayi1; i <= sayi2; i++)
        { 
            bool asal = true;
            //aşağıdaki döngüde i'nin asal olup
            //olmadığına bakıyoruz. 2'den sayının 1 eksiğine kadar bakıyoruz  
            for (int j =2;j<=i-1;j++)
            {
                if (i % j == 0)
                    asal = false;
            }
            if (asal==true) LBox.Items.Add(i.ToString());
        
        }
    }


Öncelikle Asal sayı nedir, hatırlayalım, kendisi ve 1 hariç hiçbir sayıya bölünmeyen sayıdır, örneğin 13 rakamı böyledir. Fakat 12 hem 3'e, hem 4'e hem de 6'ya bölünür, dolayısıyla asal olamaz. 

Önce for (int i = sayi1; i <= sayi2; i++) döngüsü ile girilen Sayi1'den Sayı2'ye kadar olan tüm sayıları dolaşıyoruz. Bu dolaşmayı yaparken her bir i değerinin asal olup olmadığını bir döngü ile kontrol ediyoruz.  for (int j =2;j<=i-1;j++) döngüsü 2'den i-1 sayısına kadar olan tüm sayılara bakıyor eğer bölünen varsa sayı asal olmaz, dolayısıyla asal isimli boolean değeri false değerini alır. Eğer hiç bölünen olmazsa asal değişkeni j döngüsüne girmeden olduğu gibi asal=true şeklinde kalır. 



Algoritma kurma becersinin gelişmesi ve temel ASP.net nesnelerinin öğrenilmesi için bu tarz örneklere devam edeceğiz.

Mutlu kodlamalar,
Oğuzhan TAŞ
Kasım, 2016
 
Bookmark and Share