Refactor c/difference-of-squares

This commit is contained in:
dwrz
2019-06-07 01:35:25 +00:00
parent e91639751e
commit f8127fdf4a
@@ -1,17 +1,18 @@
#include <stdio.h>
#include <math.h>
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);
}