diff --git a/euler6.scm b/euler6.scm new file mode 100644 index 0000000..05dae15 --- /dev/null +++ b/euler6.scm @@ -0,0 +1,15 @@ +(define (range a b) + (if (> a b) '() (cons a (range (add1 a) b)))) + +(define (sum lst) + (foldl + 0 lst)) + +(define (sqr a) + (* a a)) + +(define (problem6 v) + (let ((r (range 1 v))) + (- (sqr (sum r)) (sum (map sqr r))))) + +(print (problem6 10)) +(print (problem6 100))