İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# İki Sayı Arasındaki ASAL Sayıları Bulmak (1 ile 100 Arasında)

İki sayı arasındaki sayılar ile çeşitli çeşitli işlemler yapacağız. İki sayı arasındaki asal sayıları bulmak üçüncü konumuz.

C# İki Sayı Arasındaki ASAL Sayıları Bulmak (1 ile 100 Arasında)
C# İki Sayı Arasındaki ASAL Sayıları Bulmak (1 ile 100 Arasında)
+ - 0

Merhaba, C# İki Sayı Arasındaki ASAL Sayıları Bulmak yazım ile C# Eğitim Seti ‘me devam ediyorum. Öğrenci kardeşlerimizden bu formatta çok soru geldiği için hızlıca bir seri olacak şekilde yazılar yazma gereği duydum. İki sayı arasındaki sayılar ile çeşitli çeşitli işlemler yapacağız. İki sayı arasındaki asal sayıları bulmak üçüncü konumuz. Ek olarak bu formattaki tüm yazıları yine bir github projesi altında toplayacağım. Bunu yapmamdaki sebep de bu basit konuları yani bir kaç satırlık kodları ayrı ayrı repolara almak istemiyorum.

C# İki Sayı Arasındaki ASAL Sayıları Bulmak

Asal sayıları bilmeyen bir yazılımcının varlığına inanmak istemiyorum. Ama yine de kısaca anlatalım.

Asal Sayı Nedir?

Asal sayılar sadece 1’e ve kendisine bölünebilen sayılardır. Örneğin 11 sayısı sadece 1 ‘e ve 11’e bölünebilir. 11 bir asal sayıdır.

Buradan serinin ilk yazısına gidip önemli metotlarımıza bakabilirsiniz. Özellikle sayısal değer kontrolü metodumuz önemlidir arkadaşlar. Sitemde daha önce bu konu hakkında da çeşitli dersler yazmıştım. Arama kısmından aratıp bulabilirsiniz.

Form tasarımımızı biliyorsunuz. Bir button daha ekleyerek işleme devam ediyoruz. Aşağıdaki kodlarda asal sayıları bulma kodlarını ve kodların açıklamalarını bulabilirsiniz.

        private void btn_asal_olanlari_ver_Click(object sender, EventArgs e)
        {
            ListeTemizle();
            if (SayisalKontrol())
            {
                int kontrol = 0;
                for (double i = sayi1; i <= sayi2; i++)
                {
                    kontrol = 0;
                    for (int ii = 2; ii < i; ii++)
                    {
                        if (i % ii == 0)
                            kontrol++;
                    }
                    if (kontrol != 0)
                        ListeyeEkle(i.ToString() + " Sayısı ASAL sayı değildir.");
                    else
                        ListeyeEkle(i.ToString() + " Sayısı ASAL sayıdır.");
                }
            }
        }

Kodlarımızı açıklamak gerekirse;

İlk olarak listeyi temizliyoruz ve sayısal değer kontrolünü yapıyoruz. Asal olanları belirlemek ve ekrana yazdırabilmek için bir kontrol değişkeni tanımlıyoruz. İlk döngümüz, diğer metotlarımızdaki döngüler gibi dışarıdan girilen sayılar arasında dönecek. Her sayı için kontrol değişkenimizi sıfırlıyoruz. Çünkü eğer bu değişken 0 ise asaldır diyeceğiz.

İkinci döngümüzde 2’den başlayarak kontrol etmek istediğimiz sayıya kadar dönecek. Burada elimizdeki değer i=10 olsun.  10 değerinin asallığını kontrol etmek için 10 değerini 2 ‘den başlayarak kendine kadar her sayı ile modunu alacak, yani bölümünden kalana bakacak. Eğer kendinden başka bir sayıya bölünüyor ise kontrol değişkenine +1 değer ekleyip bu sayı asal değildir diyeceğiz.

Eğer kontrol değişkeni 0 değil ise sayı kendine ulaşana kadar en az bir sayıya daha bölünebildiği için asal olmadığını anlamış oluyoruz.

Bu şekilde dışarıdan 1 ve 100 girersek 1 ile 100 arasındaki asal sayıları bulabiliriz.


Bu yazım buraya kadardı arkadaşlar. Umarım faydası olmuştur. Bu yazı serisinin devamı gelecektir. Takipte kalın. :)

Diğer yazılarımda görüşmek üzere. Umarım faydalı olmuştur. Aşağıdaki linklerden eğitim seti sayfasına ve github projesine ulaşabilirsiniz. C# Eğitim Seti sayfasına gitmek için tıklayınız.  Bu yazı serisi için özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Hazırladığım içerikleri faydalı buluyorsanız yorum atarak ve yazılımla ilgilenen arkadaşlarınızla paylaşabilirseniz çok mutlu olurum. Discord’a katılmayı unutmayın.

Sağlıcakla ve kodla kalın….

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)