Skip to content

Instantly share code, notes, and snippets.

@ulsa
Created August 4, 2012 17:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ulsa/3258811 to your computer and use it in GitHub Desktop.
Save ulsa/3258811 to your computer and use it in GitHub Desktop.
Decimal to Roman Numeral converter, 2
(let [ [fst snd] (filter odd? [1 2 3 4 5])]
(println fst snd))
=> 1 3
(filter #(>= 4 (first %)) mapping)
=> ([4 "IV"] [1 "I"])
(let [ [ [n c] ] (filter ...)]
(recur ...))
(filter #(>= i (first %)) mapping)
(defn roman-numeral [i]
(loop [i i s ""]
...)
(recur (- i n) (str s c))
(defn- roman-helper [i s]
(if (zero? i)
s
(let [[[n c]] (filter #(>= i (first %)) mapping)]
(roman-helper (- i n) (str s c)))))
(defn roman-numeral [i]
(roman-helper i ""))
(defn- roman-helper [i s]
(if (zero? i)
s
(let [[[n c]] (filter #(>= i (first %)) mapping)]
(recur (- i n) (str s c)))))
(defn roman-numeral [i]
(roman-helper i ""))
(defn roman-numeral [i]
(let [roman-helper (fn [i s]
(if (zero? i)
s
(let [[[n c]] (filter #(>= i (first %)) mapping)]
(recur (- i n) (str s c)))))]
(roman-helper i "")))
(defn roman-numeral [i]
(loop [i i s ""]
(if (zero? i)
s
(let [[[n c]] (filter #(>= i (first %)) mapping)]
(recur (- i n) (str s c))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment