题目如上,实现帕斯卡三角,当年学习c语言的时候已经实现过一次,
(defn f [x y]
(if
(> x y)
0
(if (= x 1)
1
(if (= y 1)
1
(+
(f
(- x 1) (- y 1))
(f x (- y 1))
)
)
)
)
)
(defn f1 [x level]
(if (= x 0)
(println )
(:else
(print (f x level) " " )
(f1 (- x 1) level)
)
)
)
(defn f2 [n]
(f1 n n))
(defn f3 [n] (if (> n 0) (f3 (- n 1))) (f2 n))
实现代码如上,虽然是递归的,但是并不完美,代码还是收到c语言的思考模式影响较明显。执行结果如下



