给出整数 p , q 和 n 我想生成一个长度为 n 的向量元素
(⌊p ÷ q) (⌊(⌊p ÷ q) ÷ q) ...
换句话说,我想构造一个向量,其中 i :th元素被{⌊⍵ ÷ q}
应用于 p 上的 i 次。如何在APL中做到这一点?
答案 0 :(得分:3)
此简短解决方案使用扫描\
可以在甚至支持基本dfns(内联lambda)的所有APL中使用:
1↓{⌊⍵÷q}\(1+n)⍴p
请注意其效率低下;它会从头开始重新计算每个学期。
一个更复杂的解决方案通过使用/
进行迭代来避免重新计算:
r←,p
{r,←⌊(¯1↑r)÷q}/(1+n)⍴1
1↓r