• 27-05-2020, 01:49:13
    #1
    Marketing
    1 haftadır Python ile ilgileniyorum. Asal sayı bulma daha doğrusu bir sayının asal olup olmadığını kontrol için if-else kullanarak şöyle bir kod yazdım,umarım işinize yarar

    sayi=int(input("Kontrol etmek istediğiniz sayıyı giriniz"))
    if sayi%2==0 and sayi!=2: print("Asal değildir.")
    elif sayi%2==0 and sayi!=2: print("Asal değildir.")
    elif sayi%2==0 and sayi!=2: print("Asal değildir.")
    elif sayi%3==0 and sayi!=3: print("Asal değildir.")
    elif sayi%4==0 and sayi!=4: print("Asal değildir.")
    elif sayi%5==0 and sayi!=5: print("Asal değildir.")
    elif sayi%6==0 and sayi!=6: print("Asal değildir.")
    elif sayi%7==0 and sayi!=7: print("Asal değildir.")
    elif sayi%8==0 and sayi!=8: print("Asal değildir.")
    elif sayi%9==0 and sayi!=9: print("Asal değildir.")
    elif sayi%10==0 and sayi!=10: print("Asal değildir.")
    else: print("Asaldır")
  • 27-05-2020, 01:52:06
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    python ile en doğru kararı vermişsin. bırakma sonuna kadar git nasıl bi derya deniz olduğunu göreceksin. alttaki linkte ne var ne yok hepsini bitir derslerin. başarılar.
    https://www.btkakademi.gov.tr/portal...a-5877#!/about
  • 27-05-2020, 02:02:20
    #3
    Hiz her seydir,

    Eratosthenes Algoritmasini arastirip. cok daha hizli calisan bir asal sayi bulma fonksiyonu yazabilirsin.

    Ben daha once Javascript ile yazmistim, ister yorumla istersen tekrardan arastirip yapabilirsin.
    https://github.com/yunusemrebakac/pr...b/master/10.js

    Programlamaya giris yapman guzel, fakat bu isi iyi yapan insanlar arasina girmeni isterim bunun yolu da algoritmalara cok calismaktir.

    Mesela senin yazdigin fonksiyonu javascript ile yazdigimda, 1-2.000.000 arasindaki asal sayilari bulup, asallari toplamam gerekiyordu.
    Bu ortalama 2-3 saniye kadar suruyordu.

    Ama Eratosthenes Algoritmasini buldugum zaman, ortalama 0.4 saniyeye kadar dustu.

    1 kisi kullansa 3un besin lafimi olur

    1 milyon kisi ayni anda kullaniyorsa ne yapcaz

    Iste algoritmalar ise yariyoooor, hayatinda basarilar dilerim.

    Leetcode web sitesine girip oradaki sorulari cozmeye calisman da bonus tavsiye olsun

    Iyi forumlar
  • 27-05-2020, 02:43:42
    #4
    Marketing
    bilgehan44 adlı üyeden alıntı: mesajı görüntüle
    python ile en doğru kararı vermişsin. bırakma sonuna kadar git nasıl bi derya deniz olduğunu göreceksin. alttaki linkte ne var ne yok hepsini bitir derslerin. başarılar.
    https://www.btkakademi.gov.tr/portal...a-5877#!/about

    Eyvallah hocam. Şuanda Youtube'dan devam diyorum,ama bu kaynağa da bakacağım

    teknori adlı üyeden alıntı: mesajı görüntüle
    Hiz her seydir,

    Eratosthenes Algoritmasini arastirip. cok daha hizli calisan bir asal sayi bulma fonksiyonu yazabilirsin.

    Ben daha once Javascript ile yazmistim, ister yorumla istersen tekrardan arastirip yapabilirsin.
    https://github.com/yunusemrebakac/pr...b/master/10.js

    Programlamaya giris yapman guzel, fakat bu isi iyi yapan insanlar arasina girmeni isterim bunun yolu da algoritmalara cok calismaktir.

    Mesela senin yazdigin fonksiyonu javascript ile yazdigimda, 1-2.000.000 arasindaki asal sayilari bulup, asallari toplamam gerekiyordu.
    Bu ortalama 2-3 saniye kadar suruyordu.

    Ama Eratosthenes Algoritmasini buldugum zaman, ortalama 0.4 saniyeye kadar dustu.

    1 kisi kullansa 3un besin lafimi olur

    1 milyon kisi ayni anda kullaniyorsa ne yapcaz

    Iste algoritmalar ise yariyoooor, hayatinda basarilar dilerim.

    Leetcode web sitesine girip oradaki sorulari cozmeye calisman da bonus tavsiye olsun

    Iyi forumlar
    JS' hiç bilmiyorum hocam ama hedeflerim arasında o da Şuanda python ve html devam etmekteyim. Attığınız algoritmadan da pek birşey anlamadım doğal olarak Dediğiniz siteye de bakacağım mutlaka sağolun
  • 27-05-2020, 09:19:29
    #5
    Asal sayı: sadece kendisine ve 1'e kalansız bölünebilen 1'den büyük tam sayılar. 2, 3, 5, 7, 11...

    Senin program sadece çift sayıları kontrol ediyor. Örneğin 9, 15 vs. için asal diyor.
  • 27-05-2020, 21:25:24
    #6
    Marketing
    zembla adlı üyeden alıntı: mesajı görüntüle
    Asal sayı: sadece kendisine ve 1'e kalansız bölünebilen 1'den büyük tam sayılar. 2, 3, 5, 7, 11...

    Senin program sadece çift sayıları kontrol ediyor. Örneğin 9, 15 vs. için asal diyor.
    Doğru diyorsunuz hocam,dün gece ben de farkettim zaten Tüm rakamlarla kontrol edecek şekilde editledim.
  • 28-05-2020, 09:30:24
    #7
    Skaylet adlı üyeden alıntı: mesajı görüntüle
    Doğru diyorsunuz hocam,dün gece ben de farkettim zaten Tüm rakamlarla kontrol edecek şekilde editledim.
    Sadece tek haneleri kontrol ediyorsun. Örneğin, 11 x 11 = 121. Asal değildir ama senin program Asal diyecek. for döngüsü vs. gerekecek. Örneğin 121 gibi bir sayı için 121 bölü 2 sıfır veriyor mu, 121 bölü 3 sıfır veriyor mu... 121 bölü 120 sıfır veriyor mu vs. (gerçi bu örnekte 61'e kadar kontrol yeterli, yarıyı geçince zaten tam olarak bölünmez)
    for i in range(2, 121):
        result = 121 % i
        print(i, '\t', result)
    Asal sayı bulma konusunda epey algoritma var sanırım, hatta yarışmaları felan yapılıyor yanlış bilmiyorsam. İyi gidiyorsun bence, kodu geliştirmeye devam...
  • 29-05-2020, 02:02:22
    #8
    Marketing
    zembla adlı üyeden alıntı: mesajı görüntüle
    Sadece tek haneleri kontrol ediyorsun. Örneğin, 11 x 11 = 121. Asal değildir ama senin program Asal diyecek. for döngüsü vs. gerekecek. Örneğin 121 gibi bir sayı için 121 bölü 2 sıfır veriyor mu, 121 bölü 3 sıfır veriyor mu... 121 bölü 120 sıfır veriyor mu vs. (gerçi bu örnekte 61'e kadar kontrol yeterli, yarıyı geçince zaten tam olarak bölünmez)
    for i in range(2, 121):
        result = 121 % i
        print(i, '\t', result)
    Asal sayı bulma konusunda epey algoritma var sanırım, hatta yarışmaları felan yapılıyor yanlış bilmiyorsam. İyi gidiyorsun bence, kodu geliştirmeye devam...
    Valla şu asal konusunu kafayı taktım Döngülerle epey deneme yaptım,ama range aralığını milyonlara kadar çıkarmak gerekiyor,hatta o bile tam sonuç vermez Ama bir yolu olmalı,denemeye devam )