Bu problemde bizden fibonacci dizisinin 4 milyondan küçük ve çift olan elemanlarının toplamının sonucu isteniyor.
Peki fibonacci dizisi nedir? Fibonacci dizisi, her elemanının kendinden önceki son iki elemanın toplamına eşit olan özel bir dizidir. Örneğin: 1 1 2 3 5 8 13 21
Öyleyse yapmamız gerekenleri kurgulayalım.
- İlk olarak başlangıç değeri 0 olan bir toplam değişkeni tanımlayalım.
- Fibonacci dizisinin son 2 elemanını tutacak, başlangıç değerleri 1 ve 2 olan sayı değişkenlerini oluşturalım.
- Fibonacci dizisinin son elemanı, 4 milyondan küçük olduğu sürece çalışacacak bir döngü oluşturalım.
- Döngü içerisinde, son elemanın çift olup olmadığı kontrolünü yapalım. Eğer çift ise sum değişkenine son elemanı ekleyerek atayalım.
- Sondan bir önceki elemana son elemanı atayalım. Son elemana ise sondan bir önceki elemanı ekleyerek atayalım.
Şimdi, bu işlemleri bir programlama dili ile gerçekleştirelim.
#include <stdio.h>
int main() {
int sum = 0;
int num1 = 2, num2 = 1;
while(num1 < 4000000) {
if (num1 % 2 == 0)
sum += num1;
int temp = num1;
num1 += num2;
num2 = temp;
}
printf("%d", sum); // Result: 4613732
return 0;
}
Ve sonuç 4613732.