ProjectEuler Çözümleri | Problem 1 | Python3

Selam arkadaşlar,
ProjectEuler.net web sitesindeki ilk problemi python3 ile çözümünü göstereceğim.
Kodlar basit olduğundan herkes anlayabilir diye düşünüyorum ve anlamadığınız yeri sorabilirsiniz.

Problem:
1000’e kadar olan doğal sayılardan 3’e veya 5’e bölünenlerin toplamı kaçtır?

Cevap:
233168

Kodlar:
Adsız

Bir sonraki problemin çözümünde görüşmek üzere :slight_smile:

2 Beğeni

Hmm, burada da int(i%3) daki int gereksiz olmuş. Neden koydunuz ki?

2 Beğeni

Haskell:

main = print $
    sum $ filter (\x -> x `mod` 3 == 0 || x `mod` 5 == 0) [1..999]
1 Beğeni

Biraz uzun olmuş gibi

Hocam, birkaç konuda haskell den bahsettiğinizi gördüm. Bu dili hangi amaçla kullanıyorsunuz? Bana çok zor demişlerdi.

kısaltılabilir doğru

print(sum(filter(lambda i: i%3 == 0 or i%5 == 0, range(1, 1000))))

ama okunabilirlik daha önemli :wink:


hatta haskell deki kodla bu kodun işleyişi aynı

print(sum(filter(lambda i: i%3 == 0 or i%5 == 0, range(1, 1000))))

hmm isimlendirme falan da aynı :slight_smile:

1 Beğeni

Standart (imperatif) programlama bakis acisina bir alternatif (fonksiyonel programlama) ogrenmek-pratigi yapmak icin ogrendim/kullanmaya basladim.

Su aralar turler teorisi, turler cebiri dusunurken/calisirken ise yariyor.

Bir de calisma arkadaslarimla iletisirken turleri (fonksiyon/veri yapisi imzalarini) Haskell sentaksinda yazdigimi fark ettim.

2 Beğeni