From f8127fdf4a562bc6f10f050d04db741120562512 Mon Sep 17 00:00:00 2001 From: dwrz Date: Fri, 7 Jun 2019 01:35:25 +0000 Subject: [PATCH] Refactor c/difference-of-squares --- c/difference-of-squares/src/difference_of_squares.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) 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); }