在Clojure中创建Tribonaci编号
我想知道是否有人能够帮助我创建一个函数,该函数给定一个数字,然后返回与该数字对应的Tribonaci数字,例如 10人将返回44人在Clojure中创建Tribonaci编号,clojure,Clojure,我想知道是否有人能够帮助我创建一个函数,该函数给定一个数字,然后返回与该数字对应的Tribonaci数字,例如 10人将返回44人 15将返回927通常,您应该显示您已经尝试过的内容,然后让我们知道您遇到了什么问题,以便我们可以为您指出解决方案。要求Stack Overflow从头开始为您执行此操作是不礼貌的 但是,我喜欢Clojure,这些问题很有趣。首先,有很多方法可以做到这一点,只要在谷歌上搜索Clojure fibonacci,你就会从很多不同的方向开始 下面是一个使用reduce的快速
15将返回927通常,您应该显示您已经尝试过的内容,然后让我们知道您遇到了什么问题,以便我们可以为您指出解决方案。要求Stack Overflow从头开始为您执行此操作是不礼貌的 但是,我喜欢Clojure,这些问题很有趣。首先,有很多方法可以做到这一点,只要在谷歌上搜索Clojure fibonacci,你就会从很多不同的方向开始 下面是一个使用
reduce
的快速示例:
(defn tri [x]
(last (reduce
(fn [[a b c] n]
(conj [b c] (+ a b c))) [0 0 1] (range (- x 3)))))
您还可以使用迭代
:
(第n次(迭代(fn[[abc]][bc(+abc)])[001])5)
这将返回第一组Tribonaci编号的第5个,其中[0 0 1]
是初始设置
要从第X个索引中获得准确的结果,还可以将其封装在如上所述的函数中,如下所示:
(defn tri-iterate [x]
(last
(nth (iterate (fn [[a b c]] [b c (+ a b c)]) [0 0 1]) (- x 3))))
你也可以用很多其他的方法来做