【问题标题】:How can I invert the result of this code in clojure?如何在 clojure 中反转此代码的结果?
【发布时间】:2017-11-14 00:35:35
【问题描述】:
(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)))))

我需要来自hackerrank的帕斯卡三角形之类的东西

【问题讨论】:

  • 您可能会包含指向您在最后一行中谈到的内容的链接。我猜是这个? hackerrank.com/challenges/pascals-triangle/problem
  • 什么意思,倒置?帕斯卡三角形与任何事物的 11 次方有什么关系?这个问题不清楚,似乎与包含的代码无关。

标签: clojure pascals-triangle


【解决方案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 行之后没有为帕斯卡三角形产生正确输出的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    相关资源
    最近更新 更多