summaryrefslogtreecommitdiff
path: root/go/difference-of-squares/difference_of_squares.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/difference-of-squares/difference_of_squares.go')
-rw-r--r--go/difference-of-squares/difference_of_squares.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/go/difference-of-squares/difference_of_squares.go b/go/difference-of-squares/difference_of_squares.go
new file mode 100644
index 0000000..3d392cd
--- /dev/null
+++ b/go/difference-of-squares/difference_of_squares.go
@@ -0,0 +1,21 @@
+package diffsquares
+
+func SquareOfSums(n int) int {
+ var sum int
+ for i := 1; i <= n; i++ {
+ sum += i
+ }
+ return sum * sum
+}
+
+func SumOfSquares(n int) int {
+ var sum int
+ for i := 1; i <= n; i++ {
+ sum += i * i
+ }
+ return sum
+}
+
+func Difference(n int) int {
+ return SquareOfSums(n) - SumOfSquares(n)
+}