Şimdi Ara

Asal Çarpanları Bulma

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
5
Cevap
0
Favori
469
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj

  • n = 1336

    for i in range(2,n):
    if n % i != 0:
    i+=1
    if n % i == 0:
    n = n/i
    print(i)



    Merhaba, kod burada, çalıştırdığınızda siz de hatayı fark edeceksiniz, nasıl bu durumun önüne geçebilirim?



  • pythonu bilmediğim için biraz zorlandım syntaxta.
    yukarıdaki kodda i+=1 işlevsiz. çünkü range kullanıldığında i sıradan sayıları alıyor ve değiştirilemiyor.
    Bunun yerine while döngüsü tercih edilebilir. Senin kodundaki mantıkla bölüm gerçekleşip ekrana yazdırdıktan sonra i değerini en başa sarmak gerekir. yani i = 2.
     
    n = 1336
    i=2
    while i <= n:
    if n % i == 0:
    n = n/i
    print(i)
    i=2
    else:
    i+=1
  • rukaplan R kullanıcısına yanıt
    Teşekür ederim. Bunu for döngüsü ile yapmanın yolu nedir? Yani gereksiz olmayacaksa tabii.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • python syntaxını bilmiyorum. normalde diğer dillerde
    for(i=0;i<5;i++)
    yazdir(i);

    i=0;
    while(i<5)
    {
    yazdir(i);
    i++
    }

    şeklinde kolayca dönüştürülebilir.
  • Sağdaki pencere for döngülü:



    Asal Çarpanları Bulma

    < Bu ileti mini sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.