Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
33
Task/Ackermann-function/BASIC256/ackermann-function-1.basic
Normal file
33
Task/Ackermann-function/BASIC256/ackermann-function-1.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
|
||||
19
Task/Ackermann-function/BASIC256/ackermann-function-2.basic
Normal file
19
Task/Ackermann-function/BASIC256/ackermann-function-2.basic
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# BASIC256 since 0.9.9.1 supports functions
|
||||
for m = 0 to 3
|
||||
for n = 0 to 4
|
||||
print m + " " + n + " " + ackermann(m,n)
|
||||
next n
|
||||
next m
|
||||
end
|
||||
|
||||
function ackermann(m,n)
|
||||
if m = 0 then
|
||||
ackermann = n+1
|
||||
else
|
||||
if n = 0 then
|
||||
ackermann = ackermann(m-1,1)
|
||||
else
|
||||
ackermann = ackermann(m-1,ackermann(m,n-1))
|
||||
endif
|
||||
end if
|
||||
end function
|
||||
Loading…
Add table
Add a link
Reference in a new issue