You are viewing a single comment's thread. Return to all comments →
(defn myprint[s] (println (clojure.string/replace (clojure.string/replace (str s) #"\]" "") #"\[" "") ) ) (defn level [i l d cur] (if (= i (- l 1)) (conj cur 1) (do (let [lastLevel (nth d (- l 2))] (let [value (+ (nth lastLevel i) (nth lastLevel (- i 1)))] (recur (+ i 1) l d (conj cur value)) ) ) ) ) ) (defn pascal [n c d] (if (> c n) d (do (if (= c 1) (do (myprint [1]) (recur n (+ c 1) [[1]]) ) (if (= c 2) (do (myprint [1 1]) (recur n (+ c 1) (conj d [1 1])) ) (let [curLev (level 1 c d [1])] (do (myprint curLev) (recur n (+ 1 c) (conj d curLev)) ) ) ) ) ) ) ) (defn pascalDriver[n] (pascal n 1 []) ) (pascalDriver (read-string (read-line)))
Pascal's Triangle
You are viewing a single comment's thread. Return to all comments →