给定整数p、q和n我想生成一个长度为n的向量
\n\n(\xe2\x8c\x8ap \xc3\xb7 q) (\xe2\x8c\x8a(\xe2\x8c\x8ap \xc3\xb7 q) \xc3\xb7 q) ...\nRun Code Online (Sandbox Code Playgroud)\n\n换句话说,我想构造一个向量,其中第i个元素在p{\xe2\x8c\x8a\xe2\x8d\xb5 \xc3\xb7 q}上应用i次。我怎样才能在 APL 中做到这一点?
\n\n
这个简短的解决方案使用 scan\\在所有支持基本 dfns(内联 lambda)的 APL 中工作:
1\xe2\x86\x93{\xe2\x8c\x8a\xe2\x8d\xb5\xc3\xb7q}\\(1+n)\xe2\x8d\xb4p\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n注意它的低效率;它会为每个术语从头开始重新计算。
\n\n更复杂的解决方案通过使用/迭代来避免重新计算:
r\xe2\x86\x90,p\n{r,\xe2\x86\x90\xe2\x8c\x8a(\xc2\xaf1\xe2\x86\x91r)\xc3\xb7q}/(1+n)\xe2\x8d\xb41\n1\xe2\x86\x93r\nRun Code Online (Sandbox Code Playgroud)\n\n\n