Riordan numbers: Difference between revisions

Riordan numbers in various BASIC dialents (QBasic, True BASIC and Yabasic)
(Riordan numbers in FreeBASIC)
(Riordan numbers in various BASIC dialents (QBasic, True BASIC and Yabasic))
Line 205:
13393689 37458330
</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++}}==
2,131

edits