Project Euler – Problem 6

Bu problemde 1’den 100’e kadar olan doğal sayıların toplamlarının karesi ile karelerinin toplamı farkını bulmamız isteniyor. Öyleyse yapmamız gerekenleri kurgulayalım.

  • İlk olarak başlangıç değerleri 0 olan “kareler toplamı” ve “toplamların karesi” ifadelerini tutacak değişkenleri oluşturalım.
  • i=1 olup, i 100’e olana kadar çalışacak bir döngü oluşturalım.
  • Döngü içerisinde, toplamların karesi değişkenine “i*i” ifadesini ekleyerek atayalım. Karelerin toplamı değişkenine ise “i” yi ekleyerek atayalım.
  • Döngü bittiğinde toplamların karesi değişkenine kendisini çaraparak atayalım. Yani karesini atamış oluyoruz.
  • Son olarak toplamların karesinden karelerin toplamını çıkartıp ekrana yazdıralım.

Şimdi bu işlemleri bir programlama dili ile gerçekleştirelim.

#include <stdio.h>

int main() {

    int sumOfSquares = 0;
    int squareOfSum = 0;

    for(int i=1; i<= 100; i++) {
        sumOfSquares += i*i;
        squareOfSum += i;
    }

    squareOfSum *= squareOfSum;

    printf("%d", squareOfSum - sumOfSquares);  // Result: 25164150


    return 0;
}

Ve sonuç 25164150.

Yorum Yaz

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