Hi Linda
Understanding a program:
_2&{.1 1 2 NB. the last two elements1 2
+/@(_2&{.)1 1 2 NB. are added together3
(,+/ @(_2&{.))1 1 2 NB. and the sum is appended to the rest1 1 2 3
(,+/ @(_2&{.))^:14(1) NB. fourteen times1 1 2 3 5 8 13 21 34 55 89 144 233
377 610
Den 20:38 torsdag den 2. marts 2017 skrev Linda A Alvord
<[email protected]>:
Joe, this has taken me a while because I like to understand something, at
least a little bit, before I respond. I can't quite how this works.
(,+/ @(_2&{.))^:14(1)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610
You get an extra term, but I could define your verb.
fibjb=: 13 :'}:(,[:+/ (_2&{.))^:y 1'
fibjb 14
1 1 2 3 5 8 13 21 34 55 89 144 233 377
But I wish I could understand how it works as it looks so simple.
A tree didn't help much:
5!:4 <'fibjb'
┌─ 3
── : ─┴─ ,:'}:(,[:+/ (_2&{.))^:y 1'
Dissect seemed to withhold its secrets. SO it's up to you to help me.'
load 'debug'
dissect 'fibjb 14'
Thanks in advance. Linda
-----Original Message-----
From: Programming [mailto:[email protected]] On Behalf
Of Joe Bogner
Sent: Monday, February 27, 2017 9:49 AM
To: [email protected]
Subject: Re: [Jprogramming] Explicit fib
This is how I would approach it for young children -- attempting to follow your
english description
fibJ =: 3 : 0
firstLast =. 1
secondLast =. 0
total =. 1
for_N. i. (y-1) do.
term =. (firstLast + secondLast)
secondLast =. firstLast
firstLast =. term
total =. total,term
end.
total
)
fibJ 15
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610
The definition is simpler if you just want the Nth number
fibJ =: 3 : 0
firstLast =. 1
secondLast =. 0
for_N. i. (y-1) do.
term =. (firstLast + secondLast)
secondLast =. firstLast
firstLast =. term
end.
term
)
fibJ 15
610
On Mon, Feb 27, 2017 at 9:16 AM, David Lambert <[email protected]> wrote:
> fib3=: 13 :'}.1|.,''),(fib2 '',"_ 1":i.y,1'
>
> ". fib3 6
> 0 1 1 2 3 5
>
>
> Let's reorganize by grouping all the strings to increase the sentence
> legibility.
>
> '),(fib2 ' ,"_ 1 ": ,. i. 7
> ),(fib2 0
> ),(fib2 1
> ),(fib2 2
> ),(fib2 3
> ),(fib2 4
> ),(fib2 5
> ),(fib2 6
>
> From here ravel, rotate by one position, finally discard the extra comma.
>
>
> On 02/27/2017 07:00 AM, [email protected] wrote:
>>
>> Date: Mon, 27 Feb 2017 05:01:34 -0500
>> From: "Linda A Alvord"<[email protected]>
>> To:<[email protected]>
>> Subject: Re: [Jprogramming] Explicit fib
>> Message-ID: <000301d290e0$7ae35ac0$70aa1040$@net>
>> Content-Type: text/plain; charset="utf-8"
>>
>> I like fib2 and things were going well but I hit a snag:
>>
>> ]W=:*i.2 2
>> 0 1
>> 1 1
>> mp=:+/ . *
>> fib2=:3 : '{. W&mp^:y 0 1'
>> ". }:, (14 5$'(fib2'),"1 (' ',"1 ' ',"1 ":,.>:i.14),"1 '),'
>> 1 1 2 3 5 8 13 21 34 55 89 144 233 377
>> fib3=: 13 :' ". }:, ((y,5)$'(fib2'),"1 (' ',"1 ' ',"1
>> ":,.>:i.y),"1 '),''
>> |domain error: fib2
>> | {.W&mp ^:y 0 1
>> It doesn't like the fact that that the fib2 should still be just
>> letters.
>>
>> It was fun anyway. Linda
>
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm