给定整数 p、q 和 n 我想生成一个长度为 n 的向量元素
(⌊p ÷ q) (⌊(⌊p ÷ q) ÷ q) ...
换句话说,我想构建一个向量,其中 i:th 元素被 {⌊⍵ ÷ q}
应用 i 次p。我如何在 APL 中做到这一点?
最佳答案
这个简短的解决方案使用扫描 \
可以在所有支持基本 dfns(内联 lambda)的 APL 中使用:
1↓{⌊⍵÷q}\(1+n)⍴p
注意它的低效率;它会为每个学期从头开始重新计算。
一个更复杂的解决方案通过使用/
来迭代来避免重新计算:
r←,p
{r,←⌊(¯1↑r)÷q}/(1+n)⍴1
1↓r
关于apl - APL中的重复函数应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58362528/