如何在 clojure 中反转此代码的结果


(defn exp
  [n]
  (if (= n 0) 
      1
      (* 11 (exp (dec n)))))
(defn Pascals
  [n]
  (loop [x  n]
        (when (< 0 x)
              (println (exp (- x 1)))
              (recur (- x 1)))))

我需要类似黑客兰克的帕斯卡三角形的东西

您的函数在处理时正在打印,因此翻转结果的唯一方法是翻转流程。

我的意思是,如果你的函数要产生一个向量集合,比如

(map triangle-row (range 1 4)) => ([1 2 1] [1 1] [1])

然后你可以反转结果

这是过程颠倒的函数:

(defn Pascals
  [n]
  (loop [x  0]
    (when (>= n x)
      (println (exp x))
      (recur (inc x)))))

它不是从 n 开始并转到 0,而是从 0 开始并上升。

但这并不能解决第 8 行之后没有为帕斯卡三角形产生正确输出的问题

最新更新