Project Euler / Nedir? - Soru #1 ve #2

ZuL-RaA

Kadim Üye
9 Ara 2017
5,551
837
Semerkant
Merhabalar

Project Euler (Euler - Yuler - Projesi) matematik sorularının bulunduğu bir soru platformudur. Bu soruların ortak özelliği matematik soruları olmasında karşın programlama olmaksızın çözmenin neredeyse imkansız olmasıdır. Bu sebeple programlama/matematik analıyla alakalı diyebiliriz.

Euler bir matematikçi, kendisi hakkında "Leonhard Euler - Matematik Hikayeleri" isimli eski TRT Belgeseli genel bilgi almak için yeterlidir. 5 dakika civarında ve animasyon olduğu için keyifle izleyiniz. Direkt bilgi vermek gerekirse de, analitik sayı teoremi, karmaşık analiz gibi alanlarda çalışma verip matematiğin modern gösterimi ve terim kısmı konusunda çalışmaları var. "En Üretken Matematikçi" olarak kabul edilir. Vs, vs.


Soruların Cevapları Hakkında

Site soruların cevaplarını bulmak için yazılacak algoritmanın kolay olmayacağını saatler alacağını belirtirken, herhangi bir programlama dilinde yazılan algoritmanın "1 dakika kuralı" yani 1 dakika için çalışıp cevabı vereceğini yazıyor. Bu başlamadan bırakmanıza sebep olabilir.


* Bağış yapılabilir.

* Soru fikirleri topluluktan geliyor, matematikçi ve yazılımcılar ile soruya dönüşüyor.

* Forum siteleri var iletişim kurulabilir: https://projecteuler.chat

Vs, vs.

Project Euler adresine girip hesap açabilirsiniz, ilerlemenizi kayıt etmenizi sağlayacaktır. Kayıt olmadan da içeriklere erişebilirsiniz.



İlk sorumuz bu:
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.

Eğer 10'dan küçük 3 ve 5'in katları olan tüm doğal sayıları listelersek, 3,5,6 ve 9'u elde ederiz. Bu katların toplamı 23'tür.
3 ve 5'in 1000'den küçük katlarının toplamını bulun.

Soru normal olarak bakıldığı zaman kalem kağıt üzerinde de çözülebilir. Dikkat edilmesi gereken nokta 3 ve 5'in ortak katı olan sayıların bir kere toplama eklenmesi gerektiğidir. Eğer toplam formülünü kullanırsak, 3.(1 ila 333) şeklindeki 3'ün tüm katlarını (333.(332+1)/2).3 ile bulmuş oluruz. Ancak ortak 5'in katları da var. Burada doğrudan matematik değil bilgisayar bilgisi de gerekiyor diyoruz artık.

Sorunun çözümü için 1 ila 1000 arasındaki [1,1000) sayıları tek tek for ile alıp 3 veya 5'e bölünüp bölünmediğini kontrol etmek yeterli geliyor.

Python

Python:
a = 0
for i in range(1000):
    if (i % 3 == 0) or (i % 5 == 0):
        a += i

print(a)

Soru bayağı giriş seviyesiydi. Birçok kişi çözmüş. Forum veya farklı sitelerde de çözümleri bulmak mevcut. Bu kod Python ile çalışıyor lakin bazen hız adına C ailesine geçiş yapacağım.

Soru 2.
Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:

1,2,3,5,8,13,21,34,55,89....

By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.

,

Fibonacci dizisinden her yeni terim önceki iki terimin birbirine eklenmesinden oluşturulur. 1 ve 2 ile başlayarak, ilk 10 terim bunlar olacaktır:

1,2,3,5,8,13,21,34,55,89....

Fibonacci dizisindeki elamanları düşünerek değeri 4 milyonu aşmayacak çift olan elemanların toplamını bulun.

--

4 milyon kısmı kafa karıştırıcı havası veriyor görünüyor ha? Hayır değil. Toplam olduğu için üsler gibi çok zorlayıcı ilerliyor görünse de 20 terimde falan 4 milyona yanaşıyorduk sanırım.

Python

Python:
def fib(n):


    a, b = 0, 1
    while a < n:
        if a % 2 == 0:
            print(a, end="+")
        a, b = b, a+b

fib(4000000)

Bu kod aslında python.org da girişte anlatılıyor. Yapılan tek işlem alınan a değerinin 2 ile bölünmesinden kalan sayının çift olup olmadığını, olumlu duruma göre ise toplama eklenmesinden ibaret.

Şimdilik 2 sorunun çözümünü burada bırakıyorum. Kafama estikçe soru beğendikçe karma olarak çözeceğim. Teşekkürler okuduğunuz için.


TürkHackTeam_Logo.png
 

'Albatros

Anka Team Junior
7 Mar 2023
1,347
861
anka.html
Eline emeğine sağlık. güzel bir konu ortaya çıkarmışsın. Matematik hikayeleri'ni eskiden sıksık izlerdim kaç sene etti hatırlamıyorum bile videoda görünce aklıma geldi :)
 

kst132

Junior Hunter
12 Haz 2023
920
542
Merhabalar

Project Euler (Euler - Yuler - Projesi) matematik sorularının bulunduğu bir soru platformudur. Bu soruların ortak özelliği matematik soruları olmasında karşın programlama olmaksızın çözmenin neredeyse imkansız olmasıdır. Bu sebeple programlama/matematik analıyla alakalı diyebiliriz.

Euler bir matematikçi, kendisi hakkında "Leonhard Euler - Matematik Hikayeleri" isimli eski TRT Belgeseli genel bilgi almak için yeterlidir. 5 dakika civarında ve animasyon olduğu için keyifle izleyiniz. Direkt bilgi vermek gerekirse de, analitik sayı teoremi, karmaşık analiz gibi alanlarda çalışma verip matematiğin modern gösterimi ve terim kısmı konusunda çalışmaları var. "En Üretken Matematikçi" olarak kabul edilir. Vs, vs.


Soruların Cevapları Hakkında

Site soruların cevaplarını bulmak için yazılacak algoritmanın kolay olmayacağını saatler alacağını belirtirken, herhangi bir programlama dilinde yazılan algoritmanın "1 dakika kuralı" yani 1 dakika için çalışıp cevabı vereceğini yazıyor. Bu başlamadan bırakmanıza sebep olabilir.


* Bağış yapılabilir.

* Soru fikirleri topluluktan geliyor, matematikçi ve yazılımcılar ile soruya dönüşüyor.

* Forum siteleri var iletişim kurulabilir: https://projecteuler.chat

Vs, vs.

Project Euler adresine girip hesap açabilirsiniz, ilerlemenizi kayıt etmenizi sağlayacaktır. Kayıt olmadan da içeriklere erişebilirsiniz.



İlk sorumuz bu:



Eğer 10'dan küçük 3 ve 5'in katları olan tüm doğal sayıları listelersek, 3,5,6 ve 9'u elde ederiz. Bu katların toplamı 23'tür.
3 ve 5'in 1000'den küçük katlarının toplamını bulun.

Soru normal olarak bakıldığı zaman kalem kağıt üzerinde de çözülebilir. Dikkat edilmesi gereken nokta 3 ve 5'in ortak katı olan sayıların bir kere toplama eklenmesi gerektiğidir. Eğer toplam formülünü kullanırsak, 3.(1 ila 333) şeklindeki 3'ün tüm katlarını (333.(332+1)/2).3 ile bulmuş oluruz. Ancak ortak 5'in katları da var. Burada doğrudan matematik değil bilgisayar bilgisi de gerekiyor diyoruz artık.

Sorunun çözümü için 1 ila 1000 arasındaki [1,1000) sayıları tek tek for ile alıp 3 veya 5'e bölünüp bölünmediğini kontrol etmek yeterli geliyor.


Python

Python:
a = 0
for i in range(1000):
    if (i % 3 == 0) or (i % 5 == 0):
        a += i

print(a)

Soru bayağı giriş seviyesiydi. Birçok kişi çözmüş. Forum veya farklı sitelerde de çözümleri bulmak mevcut. Bu kod Python ile çalışıyor lakin bazen hız adına C ailesine geçiş yapacağım.


Soru 2.



Fibonacci dizisinden her yeni terim önceki iki terimin birbirine eklenmesinden oluşturulur. 1 ve 2 ile başlayarak, ilk 10 terim bunlar olacaktır:

1,2,3,5,8,13,21,34,55,89....

Fibonacci dizisindeki elamanları düşünerek değeri 4 milyonu aşmayacak çift olan elemanların toplamını bulun.

--

4 milyon kısmı kafa karıştırıcı havası veriyor görünüyor ha? Hayır değil. Toplam olduğu için üsler gibi çok zorlayıcı ilerliyor görünse de 20 terimde falan 4 milyona yanaşıyorduk sanırım.


Python

Python:
def fib(n):


    a, b = 0, 1
    while a < n:
        if a % 2 == 0:
            print(a, end="+")
        a, b = b, a+b

fib(4000000)

Bu kod aslında python.org da girişte anlatılıyor. Yapılan tek işlem alınan a değerinin 2 ile bölünmesinden kalan sayının çift olup olmadığını, olumlu duruma göre ise toplama eklenmesinden ibaret.

Şimdilik 2 sorunun çözümünü burada bırakıyorum. Kafama estikçe soru beğendikçe karma olarak çözeceğim. Teşekkürler okuduğunuz için.


TürkHackTeam_Logo.png
Elinize sağlık hocam
 

invisible blood

Uzman üye
15 Eyl 2023
1,177
442
Merhabalar

Project Euler (Euler - Yuler - Projesi) matematik sorularının bulunduğu bir soru platformudur. Bu soruların ortak özelliği matematik soruları olmasında karşın programlama olmaksızın çözmenin neredeyse imkansız olmasıdır. Bu sebeple programlama/matematik analıyla alakalı diyebiliriz.

Euler bir matematikçi, kendisi hakkında "Leonhard Euler - Matematik Hikayeleri" isimli eski TRT Belgeseli genel bilgi almak için yeterlidir. 5 dakika civarında ve animasyon olduğu için keyifle izleyiniz. Direkt bilgi vermek gerekirse de, analitik sayı teoremi, karmaşık analiz gibi alanlarda çalışma verip matematiğin modern gösterimi ve terim kısmı konusunda çalışmaları var. "En Üretken Matematikçi" olarak kabul edilir. Vs, vs.


Soruların Cevapları Hakkında

Site soruların cevaplarını bulmak için yazılacak algoritmanın kolay olmayacağını saatler alacağını belirtirken, herhangi bir programlama dilinde yazılan algoritmanın "1 dakika kuralı" yani 1 dakika için çalışıp cevabı vereceğini yazıyor. Bu başlamadan bırakmanıza sebep olabilir.


* Bağış yapılabilir.

* Soru fikirleri topluluktan geliyor, matematikçi ve yazılımcılar ile soruya dönüşüyor.

* Forum siteleri var iletişim kurulabilir: https://projecteuler.chat

Vs, vs.

Project Euler adresine girip hesap açabilirsiniz, ilerlemenizi kayıt etmenizi sağlayacaktır. Kayıt olmadan da içeriklere erişebilirsiniz.



İlk sorumuz bu:



Eğer 10'dan küçük 3 ve 5'in katları olan tüm doğal sayıları listelersek, 3,5,6 ve 9'u elde ederiz. Bu katların toplamı 23'tür.
3 ve 5'in 1000'den küçük katlarının toplamını bulun.

Soru normal olarak bakıldığı zaman kalem kağıt üzerinde de çözülebilir. Dikkat edilmesi gereken nokta 3 ve 5'in ortak katı olan sayıların bir kere toplama eklenmesi gerektiğidir. Eğer toplam formülünü kullanırsak, 3.(1 ila 333) şeklindeki 3'ün tüm katlarını (333.(332+1)/2).3 ile bulmuş oluruz. Ancak ortak 5'in katları da var. Burada doğrudan matematik değil bilgisayar bilgisi de gerekiyor diyoruz artık.

Sorunun çözümü için 1 ila 1000 arasındaki [1,1000) sayıları tek tek for ile alıp 3 veya 5'e bölünüp bölünmediğini kontrol etmek yeterli geliyor.


Python

Python:
a = 0
for i in range(1000):
    if (i % 3 == 0) or (i % 5 == 0):
        a += i

print(a)

Soru bayağı giriş seviyesiydi. Birçok kişi çözmüş. Forum veya farklı sitelerde de çözümleri bulmak mevcut. Bu kod Python ile çalışıyor lakin bazen hız adına C ailesine geçiş yapacağım.


Soru 2.



Fibonacci dizisinden her yeni terim önceki iki terimin birbirine eklenmesinden oluşturulur. 1 ve 2 ile başlayarak, ilk 10 terim bunlar olacaktır:

1,2,3,5,8,13,21,34,55,89....

Fibonacci dizisindeki elamanları düşünerek değeri 4 milyonu aşmayacak çift olan elemanların toplamını bulun.

--

4 milyon kısmı kafa karıştırıcı havası veriyor görünüyor ha? Hayır değil. Toplam olduğu için üsler gibi çok zorlayıcı ilerliyor görünse de 20 terimde falan 4 milyona yanaşıyorduk sanırım.


Python

Python:
def fib(n):


    a, b = 0, 1
    while a < n:
        if a % 2 == 0:
            print(a, end="+")
        a, b = b, a+b

fib(4000000)

Bu kod aslında python.org da girişte anlatılıyor. Yapılan tek işlem alınan a değerinin 2 ile bölünmesinden kalan sayının çift olup olmadığını, olumlu duruma göre ise toplama eklenmesinden ibaret.

Şimdilik 2 sorunun çözümünü burada bırakıyorum. Kafama estikçe soru beğendikçe karma olarak çözeceğim. Teşekkürler okuduğunuz için.


TürkHackTeam_Logo.png
Ellerinize sağlık hocam.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.