Sha256: cf89953982df69d71a9bc4ecbf9f480b72f352621c0a3d5fa0fe26f287428e8c

Contents?: true

Size: 348 Bytes

Versions: 145

Compression:

Stored size: 348 Bytes

Contents

(ns collatz-conjecture)

(defn collatz-helper [n]
  (cond (= 1 n)   1
        (even? n) (/ n 2)
        :else     (inc (* 3 n))))

(defn collatz [n]
  (if (> n 0)
    (count (take-while #(not= 1 %)
                       (iterate collatz-helper n)))
    (throw (IllegalArgumentException.
             "Just defined for numbers greater than 0."))))

Version data entries

145 entries across 145 versions & 1 rubygems

Version Path
trackler-2.2.1.119 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.118 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.117 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.116 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.115 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.114 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.113 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.111 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.110 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.109 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.108 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.107 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.106 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.105 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.104 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.103 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.102 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.101 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.100 tracks/clojure/exercises/collatz-conjecture/src/example.clj
trackler-2.2.1.99 tracks/clojure/exercises/collatz-conjecture/src/example.clj