1 REM +++++++++++++++++++++++++++++++++ 2 REM ! Program .... ACKER 3 REM ! Utg}va 1981 4 REM ! av (c) Guido Petz 7 REM ! Minne 16 Kbytes 8 REM ! Ins{nt av 1098 9 REM +++++++++++++++++++++++++++++++++ 10 REM Ackermanns funktion 11 REM 12 REM Screening av 13 REM Allan Varcoe & G|ran Olsson 14 REM 15 IF PEEK(590)<>40 THEN ; INP(3) 16 REM +++++++++++++++++++++++++++++++++ 20 ; CHR$(12) : DIM S%(6865%) 30 ; TAB(8)"ACKERMANN'S FUNKTION!!" : ; 40 ; 'Funktionen {r ett exempel p} en' : ; 'allm{n rekursiv funktion,som inte' 50 ; '{r primitiv rekursiv!' : ; 60 ; TAB(8)' =N+1 OM M=0' 70 ; TAB(2)'A(M,N) =A(M-1,1) OM N=0' 80 ; TAB(8)' =A(M-1,A(M,N-1)) OM M>0 OCH N>0' 90 ; : ONERRORGOTO 20 : ; TAB(14)'M='; : INPUT X% : ; TAB(14)'N='; : INPUT Y% 100 POKE -528%,255%,255%,255% 110 M%=X% : N%=Y% 120 GOSUB 160 130 ; TAB(11)'A('X%','Y%')='A% 140 T=(20*(255% XOR PEEK(-528%))+5120*(255% XOR PEEK(-527%))+1.31072E+6*(255% XOR PEEK(-526%)))/1000 150 ; TAB(4)'Det tog ';T;' sekunder'CHR$(7) : GOTO 90 160 A%=0% : I%=A% : Z%=A% 170 IF M%>0% 200 180 A%=N%+1% : IF I%>0% 260 190 RETURN 200 IF N%>0% 220 210 M%=M%-1% : N%=1% : GOTO 170 220 IF I%<6865% 240 230 ; : ; 'STACK OVERFLOW' : STOP 240 IF Z%