Project Euler Problem 5 - and kodlarını kısaltma

evenly = []
for i in range (2520,1000000000):
    if i % 2 == 0 and i % 3 == 0 and i % 4 == 0 and i % 5 == 0 and i % 6 == 0 and i % 7 == 0 and i % 8 == 0 and i % 9 == 0 and i % 10 == 0 and i % 11 == 0 and i % 12 == 0 and i % 13 == 0 and i % 14 == 0 and i % 15 == 0 and i % 16 == 0 and i % 17 == 0 and i % 18 == 0 and i % 19 == 0 and i % 20 == 0 :
        evenly.append(i)
        
print(evenly)

bu kadar and kullanacağıma range(2,20) yapmayı denedim ama o zaman 2-20 arası bütün sayılara bölünenleri değil de direkt 2-20 arasındaki herhangi bir sayıya bölünse bile append yapıyordu. Ben bu andleri nasıl kısaltabilirim. hatta direkt hiç and kullanmadan yapabilir miyim

Öyle yapmalısınız.

O sizin algoritmanızla alakalı, ne istediğinizi bilgisayara tam anlatamamışsınız demek ki.

Yapılır.


Çözümünüzde brute-force (sonucu teker teker deneyerek, zorla bulma) yolunu tercih etmişsiniz. Eğer matematiksel bir çözüm isterseniz buraya bakabilirsiniz:

Çözüm

1 den n ye kadar olan tüm sayıların ekokunu bulma

2 Beğeni