Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
7
Task/Ackermann-function/Jq/ackermann-function-1.jq
Normal file
7
Task/Ackermann-function/Jq/ackermann-function-1.jq
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# input: [m,n]
|
||||
def ack:
|
||||
.[0] as $m | .[1] as $n
|
||||
| if $m == 0 then $n + 1
|
||||
elif $n == 0 then [$m-1, 1] | ack
|
||||
else [$m-1, ([$m, $n-1 ] | ack)] | ack
|
||||
end ;
|
||||
3
Task/Ackermann-function/Jq/ackermann-function-2.jq
Normal file
3
Task/Ackermann-function/Jq/ackermann-function-2.jq
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
range(0;5) as $i
|
||||
| range(0; if $i > 3 then 1 else 6 end) as $j
|
||||
| "A(\($i),\($j)) = \( [$i,$j] | ack )"
|
||||
26
Task/Ackermann-function/Jq/ackermann-function-3.jq
Normal file
26
Task/Ackermann-function/Jq/ackermann-function-3.jq
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# jq -n -r -f ackermann.jq
|
||||
A(0,0) = 1
|
||||
A(0,1) = 2
|
||||
A(0,2) = 3
|
||||
A(0,3) = 4
|
||||
A(0,4) = 5
|
||||
A(0,5) = 6
|
||||
A(1,0) = 2
|
||||
A(1,1) = 3
|
||||
A(1,2) = 4
|
||||
A(1,3) = 5
|
||||
A(1,4) = 6
|
||||
A(1,5) = 7
|
||||
A(2,0) = 3
|
||||
A(2,1) = 5
|
||||
A(2,2) = 7
|
||||
A(2,3) = 9
|
||||
A(2,4) = 11
|
||||
A(2,5) = 13
|
||||
A(3,0) = 5
|
||||
A(3,1) = 13
|
||||
A(3,2) = 29
|
||||
A(3,3) = 61
|
||||
A(3,4) = 125
|
||||
A(3,5) = 253
|
||||
A(4,0) = 13
|
||||
29
Task/Ackermann-function/Jq/ackermann-function-4.jq
Normal file
29
Task/Ackermann-function/Jq/ackermann-function-4.jq
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# input: [m,n, cache]
|
||||
# output [value, updatedCache]
|
||||
def ack:
|
||||
|
||||
# input: [value,cache]; output: [value, updatedCache]
|
||||
def cache(key): .[1] += { (key): .[0] };
|
||||
|
||||
def pow2: reduce range(0; .) as $i (1; .*2);
|
||||
|
||||
.[0] as $m | .[1] as $n | .[2] as $cache
|
||||
| if $m == 0 then [$n + 1, $cache]
|
||||
elif $m == 1 then [$n + 2, $cache]
|
||||
elif $m == 2 then [2 * $n + 3, $cache]
|
||||
elif $m == 3 then [8 * ($n|pow2) - 3, $cache]
|
||||
else
|
||||
(.[0:2]|tostring) as $key
|
||||
| $cache[$key] as $value
|
||||
| if $value then [$value, $cache]
|
||||
elif $n == 0 then
|
||||
([$m-1, 1, $cache] | ack)
|
||||
| cache($key)
|
||||
else
|
||||
([$m, $n-1, $cache ] | ack)
|
||||
| [$m-1, .[0], .[1]] | ack
|
||||
| cache($key)
|
||||
end
|
||||
end;
|
||||
|
||||
def A(m;n): [m,n,{}] | ack | .[0];
|
||||
1
Task/Ackermann-function/Jq/ackermann-function-5.jq
Normal file
1
Task/Ackermann-function/Jq/ackermann-function-5.jq
Normal file
|
|
@ -0,0 +1 @@
|
|||
A(4;1)
|
||||
1
Task/Ackermann-function/Jq/ackermann-function-6.jq
Normal file
1
Task/Ackermann-function/Jq/ackermann-function-6.jq
Normal file
|
|
@ -0,0 +1 @@
|
|||
65533
|
||||
1
Task/Ackermann-function/Jq/ackermann-function-7.jq
Normal file
1
Task/Ackermann-function/Jq/ackermann-function-7.jq
Normal file
|
|
@ -0,0 +1 @@
|
|||
A(4;2), A(3;1000000) | tostring | length
|
||||
2
Task/Ackermann-function/Jq/ackermann-function-8.jq
Normal file
2
Task/Ackermann-function/Jq/ackermann-function-8.jq
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
19729
|
||||
301031
|
||||
Loading…
Add table
Add a link
Reference in a new issue