C# ta Girilen Sayının Asal Olup Olmadığını Yazan Program ?

Konusu 'Programlama Dilleri' forumundadır ve emretanriverdi tarafından 12 Nisan 2013 başlatılmıştır.

  1. emretanriverdi

    emretanriverdi Asistan

    Katılım:
    15 Mart 2013
    Mesajlar:
    227
    Beğenileri:
    0
    Ödül Puanları:
    16

    - C# ta Girilen Sayının Asal Olup Olmadığını Yazan Program ?

    Arkadaşlar C# ta textbox a girilen bi sayının asal mı değilmi olduğunu bulan bi program nasıl yazabiliriz?Uğraştım fakat bulamadım. bana açıklayarak anlatabilir misiniz?
     
  2. barankaynak

    barankaynak Üyecik

    Katılım:
    20 Nisan 2010
    Mesajlar:
    14
    Beğenileri:
    0
    Ödül Puanları:
    0
  3. emretanriverdi

    emretanriverdi Asistan

    Katılım:
    15 Mart 2013
    Mesajlar:
    227
    Beğenileri:
    0
    Ödül Puanları:
    16
    valla kardeş hiç bişey anlamadım kusura bakma ama . bide sanırsam bu c# console için. açıklamalı olarak anlatabilir misin?
     
  4. engerex

    engerex Dekan

    Katılım:
    16 Ağustos 2008
    Mesajlar:
    7.673
    Beğenileri:
    20
    Ödül Puanları:
    38
    Çeşitli yol izleyebilirsin.
    Örneğin;
    Sayımız 47 olsun.
    -Bir döngü oluşturursun. Sayının yarısına kadar döngüyü çalıştırırsın. 47 mod SAYIMIZ ile kalanı bulursun.

    Bir diğer yöntem 47'nin kare kökü = 6.855... tam sayı kısmı = 6 >>> Döngüyü sadece 2'den 6'ya kadar çalıştıralım. Eğer 2, 3, 4, 5, 6'ya bölünmezse asaldır. (47 mod SAYIMIZ)
     
  5. annttiigs

    annttiigs Profesör Onursal Üye

    Katılım:
    7 Şubat 2007
    Mesajlar:
    2.595
    Beğenileri:
    15
    Ödül Puanları:
    38
    Yani bunu modellemek bu kadar zor olmasa gerek. Açıyorsunuz; google.
    Sonrasında asal sayı olma kurallarından birini seçiyorsunuz. Yapacağınız şey iki tane for iki tane if.
    Eğer bunları yapamıyorsanız biraz ağır gibi gelecek ama doğru bir söz olacak. Bence olaya en baştan başlayın.
     
  6. BeyDadaş

    BeyDadaş Üyecik

    Katılım:
    15 Ekim 2012
    Mesajlar:
    91
    Beğenileri:
    0
    Ödül Puanları:
    0
    for (long i = 1; i < 1000000; i++){

    bool asalMi = true ;

    //Sayının asal olup olmadığını kontrol ediyor

    for (int = j = 2; j <i;j++){

    if (i % j == 0){

    asalMi = false;
    break;
    }

    }

    //asal olan sayılar ekrana yazdırılıyor

    if (asalMi){

    listBox1.ıtems.Add(i + " ");

    }

    }
     
  7. emretanriverdi

    emretanriverdi Asistan

    Katılım:
    15 Mart 2013
    Mesajlar:
    227
    Beğenileri:
    0
    Ödül Puanları:
    16
    kardeş bizde öğrenmeye çalışmak için soruyoruz zaten. bilsek sormayız.belki çok kolaydır belki çok zordur ama ben yapamadım !

    - - - Mesaj Güncellendi - - -

    Çok sağol kardeş eline sağlık işime yaradı
     
  8. BeyDadaş

    BeyDadaş Üyecik

    Katılım:
    15 Ekim 2012
    Mesajlar:
    91
    Beğenileri:
    0
    Ödül Puanları:
    0
    Önemli değil yazarak anlatılamayacağı için kodu yazdım sadece kusura bakma.
     
  9. mutahhar

    mutahhar Profesör

    Katılım:
    14 Nisan 2009
    Mesajlar:
    1.519
    Beğenileri:
    5
    Ödül Puanları:
    38
    o sayıya kadar olan sayıları tek tek denemenize gerek yok. girilen sayının yarısına kadar olan sayıları denemeniz yeterli olacaktır. bu işlem süresini kısaltır.
     
  10. engerex

    engerex Dekan

    Katılım:
    16 Ağustos 2008
    Mesajlar:
    7.673
    Beğenileri:
    20
    Ödül Puanları:
    38
    2 hariç çift sayıları, 3 hariç katları, 5'in çift katlarını çıkar daha da kısalır.
    Kök yönteminde daha da kısa.
     
  11. emretanriverdi

    emretanriverdi Asistan

    Katılım:
    15 Mart 2013
    Mesajlar:
    227
    Beğenileri:
    0
    Ödül Puanları:
    16
    Olsun kardeş yinede işime yaradı
     
  12. mutahhar

    mutahhar Profesör

    Katılım:
    14 Nisan 2009
    Mesajlar:
    1.519
    Beğenileri:
    5
    Ödül Puanları:
    38
    abi o büyük sayılarda daha kullanışlı olur sanki. yani listeye atarken o kontrolleri yapsa sonra diğerlerini kontrol etse büyük sayılar için uygun sonuç verir gibi :)
     
  13. BeyDadaş

    BeyDadaş Üyecik

    Katılım:
    15 Ekim 2012
    Mesajlar:
    91
    Beğenileri:
    0
    Ödül Puanları:
    0
    Arkadaşın dediği gibi "1000000" değeri bir değişkene atanıp programın hızlı çalışmasını sağlaya bilir .
     

Sayfayı Paylaş