Çözüldü Kod Hatası/Verimsizliği nasıl giderilir?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

ouxx

Centipat
Katılım
16 Eylül 2024
Mesajlar
83
Daha fazla  
Cinsiyet
Erkek
Neden sonuç vermiyor? Verimsizliğinden dolayı mı yoksa yanlış yazmamdan dolayı mı? Nasıl düzeltebilirim/verimli hâle getirebilirim? Hayırlı forumlar. (Euler Problem 3)
 

Dosya Ekleri

  • Ekran görüntüsü 2024-10-12 223833.png
    Ekran görüntüsü 2024-10-12 223833.png
    9,1 KB · Görüntüleme: 56
  • Ekran görüntüsü 2024-10-12 223854.png
    Ekran görüntüsü 2024-10-12 223854.png
    168 KB · Görüntüleme: 59
Çözüm
Python:
for i in range(2, 600851475143):
kodu 2 den başlayıp 600 milyardan fazla bir sayıya kadar iterasyon yapmaya çalışıyor. Sonuçta bu işlem hem çok uzun sürecek hem de verimlilik açısından oldukça kötü olacaktır. Özellikle tüm sayılara bakmak yerine sadece asal çarpanlarla ilgilen ve karekök sınırını kullan. Çünkü bir sayının asal olup olmadığını kontrol etmek için sayının kareköküne kadar olan sayıları kontrol etmek yeterlidir. Ayrıca ikinci döngünün yazımı hatalı. Gerisini kendin araştır ve uygula.
Python:
for i in range(2, 600851475143):
kodu 2 den başlayıp 600 milyardan fazla bir sayıya kadar iterasyon yapmaya çalışıyor. Sonuçta bu işlem hem çok uzun sürecek hem de verimlilik açısından oldukça kötü olacaktır. Özellikle tüm sayılara bakmak yerine sadece asal çarpanlarla ilgilen ve karekök sınırını kullan. Çünkü bir sayının asal olup olmadığını kontrol etmek için sayının kareköküne kadar olan sayıları kontrol etmek yeterlidir. Ayrıca ikinci döngünün yazımı hatalı. Gerisini kendin araştır ve uygula.
 
Çözüm

Technopat Haberler

Geri
Yukarı