18.5 C
İstanbul
17 Ekim 2018
Algoritmalar Matematik

Project Euler 6: Karelerin Toplam Farkı

Soru: İlk on doğal sayının karelerinin toplamı,
1^2+2^2+3^2+...+10^2=385
İlk on doğal sayının toplamının karesi
(1+2+3+...+10)^2=3025
İlk on doğal sayı için toplamların karesi ile karelerin toplamı arasındaki fark 3025-385=2640.
İlk yüz doğal sayının toplamlarının karesi ile karelerinin toplamı arasındaki farkı bulun.

30 Haziran 2016 itibariyle soruyu çözen kişi sayısı 316294. 

Bu soru da bir önceki soru gibi matematiksel yöntemler kullanarak kağıt kalem ile rahatlıkla çözebileceğimiz sorulardan. Kod yazarak dahi basitçe bulabileceğimi bir işlem barındırıyor. Fakat burada verilmek istenen mesaj: “Bakın burada işinizi kolaylaştıracak matematiksel yöntemler mevcut. Artık doğrudan kaba çözümlerle uğraşmayın, çünkü işiniz yavaş yavaş zorlaşacak. Soruyu basit problemlere indirmeye alışmalısınız.”

Bu yüzden matematiksel yaklaşımlarla soruyu yine kod yazmadan çözeceğiz. Elbette siz kod yazmayı tercih edebilirsiniz. Fakat bu soruda verilen toplamlar bir klasiktir ve sıklıkla birçok kodda da karşımıza çıkar. O yüzden ben muhakkak bu tipteki yöntemleri incelemenizi öneriyorum.

Toplamların Karesi

(1)   \begin{equation*} (1+2+3+...+10)^2=3025 \end{equation*}

Olarak verilmiş. İçerideki ifadeyi Gauss toplamından hatırlıyoruz. Eğer içerideki ifadenin ne olduğunu bulursak, karesini almak oldukça kolay bir iş olacaktır.

(2)   \begin{equation*} (1+2+3+...+n)=\frac{n(n+1)}{2} \end{equation*}

Eğer bize sorulan 100 için değeri hesaplayacak olursak (\frac{100*101}{2})^2=25502500 sonucuna ulaşılırız.

Karelerin Toplamı

(3)   \begin{equation*} 1^2+2^2+3^2+...+10^2=385 \end{equation*}

Olarak verilmiş. Buradaki karelerin toplamı ifadesi oldukça klasik bir toplam ifadesidir ve aşağıdaki şekilde formülize edilebilir.

(4)   \begin{equation*} {\sum\limits_{k=1}^n}k^2 = \frac{n(n+1)(2n+1)}{6} = 1^2+2^2+...+n^2 \end{equation*}

Eğer 100 değerini yerine koyacak olursak \frac{100*101*201}{6}=338350değeri elde edilir.

Böylelikle sonuç: 25502500-338350=25164150 olarak bulunur.

Ögetay Kayalı

Bize destek olarak daha çok içerik üretmemize katkıda bulunun!

Related posts

Project Euler 4: En Büyük Palindrom Çarpımı

Ögetay Kayalı

Project Euler 7: 10001. Asal Sayı

Ögetay Kayalı

Project Euler 3: En Büyük Asal Çarpan

Ögetay Kayalı

Yorum Bırakın