September Morn Update
This commit is contained in:
parent
4e2d22a71d
commit
aac6731f2c
6856 changed files with 141342 additions and 21127 deletions
33
Task/Ackermann-function/BASIC/ackermann-function-2.basic
Normal file
33
Task/Ackermann-function/BASIC/ackermann-function-2.basic
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
dim stack(5000, 3) # BASIC-256 lacks functions (as of ver. 0.9.6.66)
|
||||
stack[0,0] = 3 # M
|
||||
stack[0,1] = 7 # N
|
||||
lev = 0
|
||||
|
||||
gosub ackermann
|
||||
print "A("+stack[0,0]+","+stack[0,1]+") = "+stack[0,2]
|
||||
end
|
||||
|
||||
ackermann:
|
||||
if stack[lev,0]=0 then
|
||||
stack[lev,2] = stack[lev,1]+1
|
||||
return
|
||||
end if
|
||||
if stack[lev,1]=0 then
|
||||
lev = lev+1
|
||||
stack[lev,0] = stack[lev-1,0]-1
|
||||
stack[lev,1] = 1
|
||||
gosub ackermann
|
||||
stack[lev-1,2] = stack[lev,2]
|
||||
lev = lev-1
|
||||
return
|
||||
end if
|
||||
lev = lev+1
|
||||
stack[lev,0] = stack[lev-1,0]
|
||||
stack[lev,1] = stack[lev-1,1]-1
|
||||
gosub ackermann
|
||||
stack[lev,0] = stack[lev-1,0]-1
|
||||
stack[lev,1] = stack[lev,2]
|
||||
gosub ackermann
|
||||
stack[lev-1,2] = stack[lev,2]
|
||||
lev = lev-1
|
||||
return
|
||||
Loading…
Add table
Add a link
Reference in a new issue