Project Euler – Problem 2

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.

Yorum Yaz

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir