Catalan numbers/Pascal's triangle: Difference between revisions

rearranges in order of the language.
No edit summary
(rearranges in order of the language.)
Line 256:
{{out}}
<pre>1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440 9694845 </pre>
 
=={{header|Icon}} and {{header|Unicon}}==
 
The following works in both languages. It avoids computing elements in Pascal's triangle
that aren't used.
 
<lang unicon>link math
 
procedure main(A)
limit := (integer(A[1])|15)+1
every write(right(binocoef(i := 2*seq(0)\limit,i/2)-binocoef(i,i/2+1),30))
end</lang>
 
Sample run:
<pre>
->cn
1
2
5
14
42
132
429
1430
4862
16796
58786
208012
742900
2674440
9694845
->
</pre>
 
=={{header|ERRE}}==
Line 349 ⟶ 316:
15 9694845
</pre>
 
=={{header|Icon}} and {{header|Unicon}}==
 
The following works in both languages. It avoids computing elements in Pascal's triangle
that aren't used.
 
<lang unicon>link math
 
procedure main(A)
limit := (integer(A[1])|15)+1
every write(right(binocoef(i := 2*seq(0)\limit,i/2)-binocoef(i,i/2+1),30))
end</lang>
 
Sample run:
<pre>
->cn
1
2
5
14
42
132
429
1430
4862
16796
58786
208012
742900
2674440
9694845
->
</pre>
 
=={{header|J}}==
 
Line 484 ⟶ 485:
[1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845]
</pre>
 
=={{header|PARI/GP}}==
<lang parigp>vector(15,n,binomial(2*n,n)-binomial(2*n,n+1))</lang>
{{out}}
<pre>%1 = [1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845]</pre>
 
=={{header|Pascal}}==
Line 538 ⟶ 544:
 
</pre>
 
=={{header|PARI/GP}}==
<lang parigp>vector(15,n,binomial(2*n,n)-binomial(2*n,n+1))</lang>
{{out}}
<pre>%1 = [1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845]</pre>
 
=={{header|Perl}}==
Line 736 ⟶ 737:
if x-y<y then y=x-y; _=1; do j=x-y+1 to x; _=_*j; end; return _/!(y)</lang>
'''output''' is the same as the 1<sup>st</sup> version. <br>
 
=={{header|Run BASIC}}==
<lang runbasic>n = 15
dim t(n+2)
t(1) = 1
for i = 1 to n
for j = i to 1 step -1 : t(j) = t(j) + t(j-1): next j
t(i+1) = t(i)
for j = i+1 to 1 step -1: t(j) = t(j) + t(j-1 : next j
print t(i+1) - t(i);" ";
next i</lang>
{{out}}
<pre>1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440 9694845 </pre>
 
=={{header|Ruby}}==
Line 765 ⟶ 753:
<pre>1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845</pre>
 
=={{header|VBScriptRun BASIC}}==
<lang runbasic>n = 15
To run in console mode with cscript.
<lang vbscript>dim t(n+2)
t(1) = 1
if Wscript.arguments.count=1 then
for i = 1 to n
n=Wscript.arguments.item(0)
for j = i to 1 step -1 : t(j) = t(j) + t(j-1): next j
else
t(i+1) = t(i)
n=15
for j = i+1 to 1 step -1: t(j) = t(j) + t(j-1 : next j
end if
redimprint t(ni+1) - t(i);" ";
next i</lang>
't(*)=0
{{out}}
t(1)=1
<pre>1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440 9694845 </pre>
for i=1 to n
ip=i+1
for j = i to 1 step -1
t(j)=t(j)+t(j-1)
next 'j
t(i+1)=t(i)
for j = i+1 to 1 step -1
t(j)=t(j)+t(j-1)
next 'j
Wscript.echo t(i+1)-t(i)
next 'i</lang>
 
=={{header|Scilab}}==
Line 896 ⟶ 874:
9694845
Done </pre>
 
=={{header|VBScript}}==
To run in console mode with cscript.
<lang vbscript>dim t()
if Wscript.arguments.count=1 then
n=Wscript.arguments.item(0)
else
n=15
end if
redim t(n+1)
't(*)=0
t(1)=1
for i=1 to n
ip=i+1
for j = i to 1 step -1
t(j)=t(j)+t(j-1)
next 'j
t(i+1)=t(i)
for j = i+1 to 1 step -1
t(j)=t(j)+t(j-1)
next 'j
Wscript.echo t(i+1)-t(i)
next 'i</lang>
 
=={{header|Visual Basic}}==
Anonymous user