summaryrefslogtreecommitdiff
path: root/exercism/emacs-lisp/difference-of-squares/difference-of-squares.el
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2021-11-28 13:03:48 -0500
committerKjetil Orbekk <kj@orbekk.com>2021-11-28 13:03:48 -0500
commit17049953c08b7c783bf73fcb18ddbb7b05c8a671 (patch)
tree134b4db7e924b4cd803584bef1aef1c0de57d163 /exercism/emacs-lisp/difference-of-squares/difference-of-squares.el
parent65951ec5972aec2abbfc8d0dfa2a7227a0fa7223 (diff)
add exercises
Diffstat (limited to 'exercism/emacs-lisp/difference-of-squares/difference-of-squares.el')
-rw-r--r--exercism/emacs-lisp/difference-of-squares/difference-of-squares.el21
1 files changed, 21 insertions, 0 deletions
diff --git a/exercism/emacs-lisp/difference-of-squares/difference-of-squares.el b/exercism/emacs-lisp/difference-of-squares/difference-of-squares.el
new file mode 100644
index 0000000..4b7e452
--- /dev/null
+++ b/exercism/emacs-lisp/difference-of-squares/difference-of-squares.el
@@ -0,0 +1,21 @@
+;;; difference-of-squares.el --- Difference of Squares (exercism)
+
+;;; Commentary:
+
+;;; Code:
+(require 'cl)
+
+(defun square-of-sum (n)
+ (cl-loop for i from 1 to n
+ sum i into s
+ finally return (* s s)))
+
+(defun sum-of-squares (n)
+ (cl-loop for i from 1 to n
+ sum (* i i)))
+
+(defun difference (n)
+ (- (square-of-sum n) (sum-of-squares n)))
+
+(provide 'difference-of-squares)
+;;; difference-of-squares.el ends here