给定n,x,f:我想要输出表格:
[x, f(x), f(f(x)), f(f(f(x))), ..., f^{n-1}(x)]
Run Code Online (Sandbox Code Playgroud)
这可以通过减少来完成
(reductions
(fn [state _] (f state))
state
(range n))
Run Code Online (Sandbox Code Playgroud)
是否存在提供更短解决方案的原语?
你想要的是clojure.core /迭代,它提供f -> x -> [x, f(x), f^2(x), f^3(x), ...]和clojure.core /取它提供了一种以片中的第一n关一个序列的元素.take是懒惰的,iterate所以不能保证副作用.
| 归档时间: |
|
| 查看次数: |
189 次 |
| 最近记录: |