sun*_*ots 2 clojure clojure-contrib
输入一个向量我想写一个函数,给出元素之间的连续差异.理想情况下,函数应输入向量x和指定第n个差异的参数n.
样本[xn]
输入1:[16 10 8 6 4 2] 1(第一个差异为1)
输出1:[ - 6 -2 -2 -2 -2]
输入2:[16 10 8 6 4 2] 2
输出2:[4 0 0 0 nil nil]
象征性地,这里是样本2的内容(意思是说明,而不是Clojure代码)
[abcdef] 2
[a-2b + c,b-2c + d,c-2d + e,d-2e + f]
干得好:
(def a [16 10 8 6 4 2])
(defn diff [a]
(map - (rest a) a))
(defn diff-n [a n]
(nth (iterate diff a) n))
(diff-n a 1) ; => (-6 -2 -2 -2 -2)
(diff-n a 2) ; => (4 0 0 0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |