Refactor c/difference-of-squares
This commit is contained in:
@@ -1,17 +1,18 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
int square_of_sum(int n) {
|
int square_of_sum(int n) {
|
||||||
int sum = (int) (n * ((n * 0.5) + 0.5));
|
int sum = (n * (n + 1)) / 2;
|
||||||
return pow(sum, 2);
|
return sum * sum;
|
||||||
}
|
}
|
||||||
|
|
||||||
int sum_of_squares(int n) {
|
int sum_of_squares(int n) {
|
||||||
printf("%d\n", n);
|
int sum = 0;
|
||||||
return n;
|
|
||||||
|
for (int i = 1; i <= n; i++) sum += i * i;
|
||||||
|
|
||||||
|
return sum;
|
||||||
}
|
}
|
||||||
|
|
||||||
int difference_of_squares(int n) {
|
int difference_of_squares(int n) {
|
||||||
printf("%d\n", n);
|
|
||||||
return square_of_sum(n) - sum_of_squares(n);
|
return square_of_sum(n) - sum_of_squares(n);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user