RosettaCodeData/Task/Bell-numbers/MoonRock/bell-numbers.moonrock
2026-04-30 12:34:36 -04:00

43 lines
632 B
Text

' Bell numbers
BEGIN DEF
SUB PrintStr(S$, Width%)
%MaxN = 14
DIM A&[%MaxN]
BEGIN CODE
N% = 0
FOR I% = 0 TO %MaxN -1
A&[I%] = 0
NEXT
A&[0] = 1
PRINT "B("
CALL PrintStr(STR(N%), 2)
PRINT ") = "
CALL PrintStr(STR(A&[0]), 9)
PRINT "\n"
WHILE N% < %MaxN
A&[N%] = A&[0]
J% = N%
WHILE J% >= 1
JMin1% = J% - 1
A&[JMin1%] = A&[JMin1%] + A&[J%]
J% = J% - 1
WEND
N% = N% + 1
PRINT "B("
CALL PrintStr(STR(N%), 2)
PRINT ") = "
CALL PrintStr(STR(A&[0]), 9)
PRINT "\n"
WEND
END
SUB PrintStr(S$, Width%)
IF LEN(S$) > Width% THEN
PRINT S$
ELSE
S$ = SPACE(Width%) + S$
PRINT RIGHT(S$, Width%)
ENDIF
END SUB