35 lines
459 B
Text
35 lines
459 B
Text
CARD FUNC Leonardo(BYTE n)
|
|
CARD curr,prev,tmp
|
|
|
|
IF n<=1 THEN
|
|
RETURN (1)
|
|
FI
|
|
|
|
prev=1
|
|
curr=1
|
|
DO
|
|
tmp=prev
|
|
prev=curr
|
|
curr==+tmp+1
|
|
n==-1
|
|
UNTIL n=1
|
|
OD
|
|
RETURN (curr)
|
|
|
|
PROC Main()
|
|
BYTE n
|
|
CARD l
|
|
|
|
Put(125) ;clear screen
|
|
|
|
FOR n=0 TO 22 ;limited to 22 because of CARD limitations
|
|
DO
|
|
l=Leonardo(n)
|
|
IF n MOD 2=0 THEN
|
|
Position(2,n/2+1)
|
|
ELSE
|
|
Position(21,n/2+1)
|
|
FI
|
|
PrintF("L(%B)=%U",n,l)
|
|
OD
|
|
RETURN
|