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++}}== |