diff --git a/c/difference-of-squares/src/difference_of_squares.c b/c/difference-of-squares/src/difference_of_squares.c index b9fbb55..83c1c06 100644 --- a/c/difference-of-squares/src/difference_of_squares.c +++ b/c/difference-of-squares/src/difference_of_squares.c @@ -1,17 +1,18 @@ #include -#include int square_of_sum(int n) { - int sum = (int) (n * ((n * 0.5) + 0.5)); - return pow(sum, 2); + int sum = (n * (n + 1)) / 2; + return sum * sum; } int sum_of_squares(int n) { - printf("%d\n", n); - return n; + int sum = 0; + + for (int i = 1; i <= n; i++) sum += i * i; + + return sum; } int difference_of_squares(int n) { - printf("%d\n", n); return square_of_sum(n) - sum_of_squares(n); }