RosettaCodeData/Task/Spiral-matrix/Clojure/spiral-matrix-2.clj

9 lines
292 B
Clojure
Raw Permalink Normal View History

2017-09-23 10:01:46 +02:00
(defn spiral-matrix [m n & [start]]
(let [row (list (map #(+ start %) (range m)))]
(if (= 1 n) row
(concat row (map reverse
(apply map list
(spiral-matrix (dec n) m (+ start m))))))))
(defn spiral [n m] (spiral-matrix n m 1))