Data update
This commit is contained in:
parent
81fd053722
commit
52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions
1
Task/Ackermann-function/APL/ackermann-function-1.apl
Normal file
1
Task/Ackermann-function/APL/ackermann-function-1.apl
Normal file
|
|
@ -0,0 +1 @@
|
|||
ack←{0=⍺:1+⍵ ⋄ 0=⍵:(⍺-1)∇1 ⋄ (⍺-1)∇⍺∇⍵-1}
|
||||
|
|
@ -1,12 +1,10 @@
|
|||
fun ackermann = int by int m, int n
|
||||
return when(m == 0,
|
||||
n + 1,
|
||||
when(n == 0,
|
||||
ackermann(m - 1, 1),
|
||||
ackermann(m - 1, ackermann(m, n - 1))))
|
||||
end
|
||||
for int m = 0; m <= 3; ++m
|
||||
for int n = 0; n <= 6; ++n
|
||||
writeLine("Ackermann(" + m + ", " + n + ") = " + ackermann(m, n))
|
||||
fun ackermann ← <int m, int n|when(m æ 0,
|
||||
n + 1,
|
||||
when(n æ 0,
|
||||
ackermann(m - 1, 1),
|
||||
ackermann(m - 1, ackermann(m, n - 1))))
|
||||
for int m ← 0; m ≤ 3; ++m
|
||||
for int n ← 0; n ≤ 6; ++n
|
||||
writeLine("Ackermann(" + m + ", " + n + ") = ", ackermann(m, n))
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,4 +1 @@
|
|||
ack=: c1`c1`c2`c3 @. (#.@,&*) M.
|
||||
c1=: >:@] NB. if 0=x, 1+y
|
||||
c2=: <:@[ ack 1: NB. if 0=y, (x-1) ack 1
|
||||
c3=: <:@[ ack [ ack <:@] NB. else, (x-1) ack x ack y-1
|
||||
ack=: >:@]`(<:@[ $: 1:)`(<:@[ $: ($: <:))@.(,&*i.0:)M.
|
||||
|
|
|
|||
|
|
@ -1,8 +1,4 @@
|
|||
0 ack 3
|
||||
4
|
||||
1 ack 3
|
||||
5
|
||||
2 ack 3
|
||||
9
|
||||
3 ack 3
|
||||
61
|
||||
c1=: >:@] NB. if 0=x, 1+y
|
||||
c2=: <:@[ ack 1: NB. if 0=y, (x-1) ack 1
|
||||
c3=: <:@[ ack [ ack <:@] NB. else, (x-1) ack x ack y-1
|
||||
ack=: c1`c2`c3@.(,&* i. 0:)M.
|
||||
|
|
|
|||
|
|
@ -1 +1,8 @@
|
|||
Ack=. 3 -~ [ ({&(2 4$'>: 2x&+') ::(,&'&1'&'2x&*'@:(-&2))"0@:[ 128!:2 ]) 3 + ]
|
||||
0 ack 3
|
||||
4
|
||||
1 ack 3
|
||||
5
|
||||
2 ack 3
|
||||
9
|
||||
3 ack 3
|
||||
61
|
||||
|
|
|
|||
|
|
@ -1,15 +1 @@
|
|||
0 1 2 3 Ack 0 1 2 3 4 5 6 7
|
||||
1 2 3 4 5 6 7 8
|
||||
2 3 4 5 6 7 8 9
|
||||
3 5 7 9 11 13 15 17
|
||||
5 13 29 61 125 253 509 1021
|
||||
|
||||
3 4 Ack 0 1 2
|
||||
5 13 ...
|
||||
13 65533 2003529930406846464979072351560255750447825475569751419265016973710894059556311453089506130880933348101038234342907263181822949382118812668869506364761547029165041871916351587966347219442930927982084309104855990570159318959639524863372367203002916...
|
||||
|
||||
4 # @: ": @: Ack 2 NB. Number of digits of 4 Ack 2
|
||||
19729
|
||||
|
||||
5 Ack 0
|
||||
65533
|
||||
Ack=. 3 -~ [ ({&(2 4$'>: 2x&+') ::(,&'&1'&'2x&*'@:(-&2))"0@:[ 128!:2 ]) 3 + ]
|
||||
|
|
|
|||
|
|
@ -1,27 +1,15 @@
|
|||
o=. @: NB. Composition of verbs (functions)
|
||||
x=. o[ NB. Composing the left noun (argument)
|
||||
0 1 2 3 Ack 0 1 2 3 4 5 6 7
|
||||
1 2 3 4 5 6 7 8
|
||||
2 3 4 5 6 7 8 9
|
||||
3 5 7 9 11 13 15 17
|
||||
5 13 29 61 125 253 509 1021
|
||||
|
||||
(rows2up=. ,&'&1'&'2x&*') o i. 4
|
||||
2x&*
|
||||
2x&*&1
|
||||
2x&*&1&1
|
||||
2x&*&1&1&1
|
||||
NB. 2's multiplication, exponentiation, tetration, pentation, etc.
|
||||
3 4 Ack 0 1 2
|
||||
5 13 ...
|
||||
13 65533 2003529930406846464979072351560255750447825475569751419265016973710894059556311453089506130880933348101038234342907263181822949382118812668869506364761547029165041871916351587966347219442930927982084309104855990570159318959639524863372367203002916...
|
||||
|
||||
0 1 2 (BuckTruncated=. (rows2up x apply ]) f.) 0 1 2 3 4 5
|
||||
0 2 4 6 8 ...
|
||||
1 2 4 8 16 ...
|
||||
1 2 4 16 65536 2003529930406846464979072351560255750447825475569751419265016973710894059556311453089506130880933348101038234342907263181822949382118812668869506364761547029165041871916351587966347219442930927982084309104855990570159318959639524863372367203...
|
||||
NB. Buck truncated function (missing the first two rows)
|
||||
4 # @: ": @: Ack 2 NB. Number of digits of 4 Ack 2
|
||||
19729
|
||||
|
||||
BuckTruncated NB. Buck truncated function-level code
|
||||
,&'&1'&'2x&*'@:[ 128!:2 ]
|
||||
|
||||
(rows01=. {&('>:',:'2x&+')) 0 1 NB. The missing first two rows
|
||||
>:
|
||||
2x&+
|
||||
|
||||
Buck=. (rows01 :: (rows2up o (-&2)))"0 x apply ]
|
||||
|
||||
(Ack=. (3 -~ [ Buck 3 + ])f.) NB. Ackermann function-level code
|
||||
3 -~ [ ({&(2 4$'>: 2x&+') ::(,&'&1'&'2x&*'@:(-&2))"0@:[ 128!:2 ]) 3 + ]
|
||||
5 Ack 0
|
||||
65533
|
||||
|
|
|
|||
27
Task/Ackermann-function/J/ackermann-function-6.j
Normal file
27
Task/Ackermann-function/J/ackermann-function-6.j
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
o=. @: NB. Composition of verbs (functions)
|
||||
x=. o[ NB. Composing the left noun (argument)
|
||||
|
||||
(rows2up=. ,&'&1'&'2x&*') o i. 4
|
||||
2x&*
|
||||
2x&*&1
|
||||
2x&*&1&1
|
||||
2x&*&1&1&1
|
||||
NB. 2's multiplication, exponentiation, tetration, pentation, etc.
|
||||
|
||||
0 1 2 (BuckTruncated=. (rows2up x apply ]) f.) 0 1 2 3 4 5
|
||||
0 2 4 6 8 ...
|
||||
1 2 4 8 16 ...
|
||||
1 2 4 16 65536 2003529930406846464979072351560255750447825475569751419265016973710894059556311453089506130880933348101038234342907263181822949382118812668869506364761547029165041871916351587966347219442930927982084309104855990570159318959639524863372367203...
|
||||
NB. Buck truncated function (missing the first two rows)
|
||||
|
||||
BuckTruncated NB. Buck truncated function-level code
|
||||
,&'&1'&'2x&*'@:[ 128!:2 ]
|
||||
|
||||
(rows01=. {&('>:',:'2x&+')) 0 1 NB. The missing first two rows
|
||||
>:
|
||||
2x&+
|
||||
|
||||
Buck=. (rows01 :: (rows2up o (-&2)))"0 x apply ]
|
||||
|
||||
(Ack=. (3 -~ [ Buck 3 + ])f.) NB. Ackermann function-level code
|
||||
3 -~ [ ({&(2 4$'>: 2x&+') ::(,&'&1'&'2x&*'@:(-&2))"0@:[ 128!:2 ]) 3 + ]
|
||||
Loading…
Add table
Add a link
Reference in a new issue