1. Ana Sayfa
  2. C Sharp

C# Asal Sayılar Nasıl Bulunur? – En Gereksiz Mülakat Sorusu

C# Asal Sayılar Nasıl Bulunur? – En Gereksiz Mülakat Sorusu
+ - 0

Merhaba, bu dersimizde C# Asal Sayılar Nasıl Bulunur? sorusuna cevap vermeye çalışacağım. Bildiğiniz üzere inanılmaz derecede saçma ve salakça olarak iş başvurularında yapmamızı istedikleri bir sorudur. Hayatımda en çok nefret ettiğim mülakat sorusudur. Ne işimize yarayacak ki asal sayıları bulan kodları ezbere biliyor oluşumuz? Sanki her projenin kilit noktası asal sayıları bulmakmış gibi davranıyorlar. Neyse. Tamam sakinim. Gelin bu uyzuz konunun nasıl yapıldığına bakalım.

Asal sayıları bulma konusu sık sık mülakatlarda sorulan en gereksiz ve saçma konudur. Bir iş başvurusunda bana da sormuşlardı ve düşüncelerimi şimdi olduğu gibi dile getirmiştim ve başka ve gerçekten mantıklı olan bir soru vermişlerdi.

C# Asal Sayılar Nasıl Bulunur?

Öncelikle Asal sayı nedir onu bilmemiz gerekiyor. Asal sayılar sadece 1 sayısında ve kendisine tam bölünebilen çok cins sayılardır. :)

Bu yazıda hem bir sayının asal sayı olup olmadığını hemde bir aralıktaki tüm asal sayıları bulma işlemlerini vereceğim.

C# Asal Sayı Kontrolü

Dışarıdan girilen bir sayının asal sayı kontrolü ‘nü yapalım. Formumuza bir buton, bir textbox ve bir label ekleyelim.

            int sayac = 0;
            int sayi = Convert.ToInt32(txt_sayi.Text);
 
            for (int i = 2; i < sayi; i++)
            {
                if (sayi % i == 0)
                {
                    sayac++;
                }
            }
 
            if (sayac == 0)
            {
                lbl_sonuc.Text = "Girilen Sayı Asal";
            }
            else
            {
                lbl_sonuc.Text = "Girilen Sayı Asal Değil";
            }

Yukarıdaki kodlarımız bir sayının asal olup olmadığını belirleyen kodlarımızdı. txt_sayi textbox’una girilen sayıyı kontrol ederek lbl_sonuc labeline durumunu yazıyor.

 

C# 0-100 Arası Asal Sayıları Listeleme

Dışarıdan girilen 0-100 arası asal sayıları listeme işlemine bakalım. Formumuza iki textbox, bir buton ve bir listbox ekleyelim.

            int sayi1=Convert.ToInt32(txt_sayi1.Text);
            int sayi2=Convert.ToInt32(txt_sayi2.Text);
            
            int sayac = 0;
            for (int sayi = sayi1; sayi <= sayi2; sayi++)
            {
                int kontrol = 0;
 
                for (int i = 2; i < sayi; i++)
                {
                    if (sayi % i == 0)
                    {
                        kontrol = 1;
                        break;
                    }
                }
                if (kontrol == 0)
                {
                  lst_asallar.Items.Add( String.Format( "{0} asaldır.",sayi));
                  sayac++;   
                }
            }
            lst_asallar.Items.Add("================================");
            lst_asallar.Items.Add(String.Format("{0} adet asal sayı var", sayac));

Yukarıdaki kodlarımız bir sayı aralığındaki sayıların arasında kalan asal sayıları veren kodlarımızdır. Asal sayı bulunduğunda listbox nesnesine bulunan sayılar eklenir ve sonuç olarakta bir ayraç ile kaç tane bulunduğu bilgisi eklenir.

NOT: Bu kodların çalıştığından %100 değilim değilim. Hata çıkar ve çözemezseniz bana mail adresimden ulaşabilirsiniz.


Bu  yazımızında sonuna geldik dostlar.  Bu dersim de  C# Eğitim setindeki yerini almıştır. Matematiksel İşlemler başlığının altında bulabilirsiniz.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Sağlıcakla ve takipte 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. :)