嗯..我从昨天开始学习APL。我正在观看youtube视频教授基本的各种符号,我正在使用NARS2000。
我想要的是打印Fibonacci序列。我知道有几个代码,但由于我没有研究高级的东西,我开始编写自己的代码。
首先我创建了这个数组:
这个想法很简单:Nⁿ中(1,1)处的元素是第(n + 1)个斐波那契序列。
我做的是:
和
嗯,它有效。但是,如果我想要第16个学期,那么我应该做
我需要的是写出任意数量的Ns。我当然知道{rho}。然而,
(底部被切断)
我注意到(i 2 2){rho} N和i Ns不同。
我应该使用什么算子来做N N N ... N的事情呢?
答案 0 :(得分:3)
你快到了。 ⍴
(“reshape”)是正确使用的运算符;但是,您希望它将矩阵N视为矩阵,而不是单个标量元素。为此,您使用“附加”运算符 ⊂
包装它:
4⍴⊂N
1 1 1 1 1 1 1 1
1 0 1 0 1 0 1 0
如果我们把它包起来,我们会得到(例如)以下表达式:
↑¨+.×\16⍴⊂2 2⍴1 1 1 0
1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
(但请允许我说一句:根据定义,Fibonacci序列以0
和1
开头。)
答案 1 :(得分:0)
如果你想从0和1开始,只需使用0 1 1 1而不是1 1 1 0
↑¨+.×\16⍴⊂2 2⍴0 1 1 1
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610