Sync
This commit is contained in:
parent
6f050a029e
commit
776bba907c
3887 changed files with 59894 additions and 7280 deletions
|
|
@ -1,33 +1,30 @@
|
|||
#define std'dictionary'*.
|
||||
#define std'patterns'*.
|
||||
|
||||
#subject m, n.
|
||||
#define system.
|
||||
|
||||
// --- Ackermann function ---
|
||||
|
||||
#symbol Ackermann &m:anM &n:anN =
|
||||
#symbol ackermann = &&:m:n
|
||||
[
|
||||
#if anM
|
||||
ifequal:0 [ ^ anN + 1. ]
|
||||
| greater:0 ?
|
||||
[
|
||||
#if anN
|
||||
ifequal:0 [ ^ Ackermann &&m:(anM - 1) &n:1. ]
|
||||
| greater:0 ? [ ^ Ackermann &&m:(anM - 1) &n:(Ackermann &&m:anM &n:(anN - 1)). ].
|
||||
].
|
||||
|
||||
control fail.
|
||||
m =>
|
||||
0 ? [ n + 1 ]
|
||||
> 0 ? [
|
||||
n => 0 ? [ $self:(m - 1):1 ]
|
||||
> 0 ? [ $self:(m - 1):($self:m:(n-1)) ]
|
||||
]
|
||||
].
|
||||
|
||||
#symbol Program =
|
||||
#symbol program =
|
||||
[
|
||||
loop &&from:0 &to:3 run: anM =
|
||||
#var n := ackermann:3:5.
|
||||
|
||||
control from:0 &to:3 &do: &&:i
|
||||
[
|
||||
loop &&from:0 &to:5 run: anN =
|
||||
control from:0 &to:5 &do: &&:j
|
||||
[
|
||||
'program'output << "A(" << anM << "," << anN << ")=" << (Ackermann &&m:anM &n:anN) << "%n".
|
||||
console << "A(" << i << "," << j << ")=" << (ackermann:i:j).
|
||||
|
||||
console writeLine.
|
||||
].
|
||||
].
|
||||
|
||||
'program'Input get.
|
||||
console readChar.
|
||||
].
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue