Bu seride Project Euler sorularını çözmeyi planlıyorum.
Soru :
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
10'un altındaki 3'ün veya 5'in katı olan sayıları listelersek 3,5,6 ve 9 elde ederiz. Bu katların toplamı 23'tür.
1000'in altındaki 3 veya 5'in katları olan sayıların toplamını bulunuz
Soru :
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
10'un altındaki 3'ün veya 5'in katı olan sayıları listelersek 3,5,6 ve 9 elde ederiz. Bu katların toplamı 23'tür.
1000'in altındaki 3 veya 5'in katları olan sayıların toplamını bulunuz
Sorunun linki : https://projecteuler.net/problem=1
Python için olan çözümümde öncelikle katlar adlı bir liste oluşturdum. Sonrasında 1000'e kadar giden bir for döngüsü oluşturdum. İf bloğu ile sayının 3'e veya 5'e bölünüp bölünmediğini kontrol ediyorum. Eğer en az birine bölünüyorsa katlar listemize ; katlar.append(_) diyerek ekliyor.Ve sum(katlar) ile toplamlarını veriyor.
Kod:
katlar = []
for _ in range(1000):
if _%3== 0 or _%5==0:
katlar.append(_)
print(sum(katlar))
Daha kısa bir kod arayanlar için :
İlk kod 10000 çalıştırmayı 6.4416181 saniyede
İkinci kod ise 5.1989709 saniyede tamamladı.
C# ile çözerken liste oluşturmak yerine toplam adında bir değişken oluşturdum. Yine bir for döngüsü var. For döngüsünün içinde ise sayının 3'e veya 5'e bölünüp bölünmediğini kontrol eden bir if bloğu var. Eğer en az birine bölünebiliyorsa sayı toplam değişkenine ekleniyor. En sonda ise toplam değişkenini ekrana yazdırıyor. Console.Read(); ise terminalin kapanmasını engelliyor. Eğer enterlarsak kapanacaktır.
Kod:
int toplam = 0;
for (int _ = 0; _ < 1000; _++)
{
if (_%3==0 || _%5==0)
{
toplam += _;
}
}
Console.WriteLine(toplam);
Console.Read();
Teşekkürler.
İkinci soru çözümü konusu : https://www.turkhackteam.org/algoritma/1944117-algoritma-soru-cozumu-2-a.html
İkinci soru çözümü konusu : https://www.turkhackteam.org/algoritma/1944117-algoritma-soru-cozumu-2-a.html
Son düzenleme: