【问题标题】:How to write N N N .... N using operators (or other things)?如何使用运算符(或其他东西)编写 N N N .... N?
【发布时间】:2013-04-30 11:09:09
【问题描述】:

嗯..我从昨天开始学习APL。我正在观看 youtube 视频,教授各种基本符号,我正在使用 NARS2000。

我想要的是打印斐波那契数列。我知道有几个代码,但是由于我没有研究过高级的东西,所以我开始编写自己的代码。

首先我创建了这个数组:

这个想法很简单:Nⁿ 中 (1,1) 处的元素是第 (n+1) 个斐波那契数列。

我所做的是:

嗯,它有效。但是,如果我想要第 16 个任期,那么我应该这样做

我需要的是写任意数量的 Ns。我当然知道 {rho}。然而,

(底部被剪掉了)

我注意到 (i 2 2){rho}N 和 i Ns 是不同的。

我应该使用什么运算符来做与 N N N...N 相同的事情?

【问题讨论】:

    标签: fibonacci apl


    【解决方案1】:

    你快到了。 ("reshape") 是正确使用的运算符;但是,您希望它不将矩阵 N 视为矩阵,而是将其视为单个标量元素。为此,您使用 "enclose" 运算符 包装它:

          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
    

    (请允许我说一句:根据定义,斐波那契数列以01 开头。)

    【讨论】:

    • 谢谢!我 heard 关于 enclose 运算符,但我不知道它是做什么的。
    【解决方案2】:

    如果要从 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
    

    【讨论】:

      猜你喜欢
      • 2021-12-20
      • 2015-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多