Riordan numbers: Difference between revisions

Content added Content deleted
(Riordan numbers in FreeBASIC)
(Riordan numbers in various BASIC dialents (QBasic, True BASIC and Yabasic))
Line 205: Line 205:
13393689 37458330
13393689 37458330
</pre>
</pre>

=={{header|BASIC}}==
==={{header|QBasic}}===
<syntaxhighlight lang="qbasic">CONST limit = 31

DIM r(0 TO limit)
PRINT "First 32 Riordan numbers:"
CALL Riordan(limit, r())
FOR i = 0 TO limit
PRINT USING " #############"; r(i);
cont = cont + 1
IF cont MOD 4 = 0 THEN PRINT
NEXT i
END

SUB Riordan (n, a())
IF n >= 0 THEN
a(0) = 1
IF n >= 1 THEN
a(1) = 0
FOR i = 2 TO n
a(i) = ((i - 1) * ((2 * a(i - 1)) + (3 * a(i - 2)))) / (i + 1)
NEXT i
END IF
END IF
END SUB</syntaxhighlight>

==={{header|True BASIC}}===
{{trans|FreeBASIC}}
<syntaxhighlight lang="qbasic">SUB riordan (n,a())
IF n >= 0 THEN
LET a(0) = 1
IF n >= 1 THEN
LET a(1) = 0
FOR i = 2 TO n
LET a(i) = ((i-1)*((2*a(i-1))+(3*a(i-2))))/(i+1)
NEXT i
END IF
END IF
END SUB

LET limit = 31
LET cont = 0
DIM r(0)
MAT REDIM r(0 TO limit)

PRINT "First 32 Riordan numbers:"
CALL riordan(limit, r())
FOR i = 0 TO limit
PRINT USING " #############": r(i);
LET count = count + 1
IF MOD(count, 4) = 0 THEN PRINT
NEXT i
END</syntaxhighlight>
{{out}}
<pre>Same as FreeBASIC entry.</pre>

==={{header|Yabasic}}===
{{trans|FreeBASIC}}
<syntaxhighlight lang="yabasic">limit = 31
dim r(limit)
print "First 32 Riordan numbers:"
Riordan(limit, r())
for i = 0 to 23
print r(i) using("#############");
cont = cont + 1
if mod(cont, 4) = 0 print
next i
for i = 24 to limit
print " ", str$(r(i));
cont = cont + 1
if mod(cont, 4) = 0 print
next i
end
sub Riordan (n, a())
local i
if n >= 0 then
a(0) = 1
if n >= 1 then
a(1) = 0
for i = 2 to n
a(i) = ((i-1) * ((2 * a(i-1)) + (3 * a(i-2)))) / (i+1)
next i
fi
fi
end sub</syntaxhighlight>


=={{header|C++}}==
=={{header|C++}}==