Sha256: 479f422c0e8a7fdb51aed034ebc08bee4d39202e37107aa5b130c7b18c76b8a1

Contents?: true

Size: 333 Bytes

Versions: 396

Compression:

Stored size: 333 Bytes

Contents

(ns grains)

(defn- pow [x n]
  (loop [x (bigint x) n (bigint n) r 1]
    (cond
      (= n 0) r
      (even? n) (recur (* x x) (/ n 2) r)
      :else (recur x (dec n) (* r x)))))

(defn square [number]
  (pow 2 (dec number)))

(def ^:private square-numbers (rest (range 65)))

(defn total []
  (apply + (map square square-numbers)))

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.179 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.178 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.177 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.176 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.175 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.174 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.173 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.172 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.171 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.170 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.169 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.167 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.166 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.165 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.164 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.163 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.162 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.161 tracks/clojure/exercises/grains/src/example.clj
trackler-2.2.1.160 tracks/clojure/exercises/grains/src/example.clj