RosettaCodeData/Task/Bell-numbers/QuickBASIC/bell-numbers.basic

27 lines
470 B
Plaintext

' Bell numbers
DECLARE SUB DisplayRow (N%, BellNum&)
CONST MAXINDEX% = 14
DIM A&(MAXINDEX% - 1)
FOR I% = 0 TO MAXINDEX% - 1
A&(I%) = 0
NEXT I%
N% = 0
A&(0) = 1
DisplayRow N%, A&(0)
WHILE N% < MAXINDEX%
A&(N%) = A&(0)
FOR J% = N% TO 1 STEP -1
A&(J% - 1) = A&(J% - 1) + A&(J%)
NEXT J%
N% = N% + 1
DisplayRow N%, A&(0)
WEND
END
SUB DisplayRow (N%, BellNum&)
PRINT "B(";
PRINT USING "##"; N%;
PRINT ") = ";
PRINT USING "#########"; BellNum&
END SUB