Catalan numbers/Pascal's triangle: Difference between revisions

Rename Perl 6 -> Raku, alphabetize, minor clean-up
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
Line 255:
1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440 9694845
</pre>
 
=={{header|AWK}}==
<lang AWK>
Line 371 ⟶ 372:
<pre>
1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440 9694845
</pre>
 
=={{header|C Sharp}}==
{{trans|C++}}
<lang csharp>
int n = 15;
List<int> t = new List<int>() { 0, 1 };
for (int i = 1; i <= n; i++)
{
for (var j = i; j > 1; j--) t[j] += t[j - 1];
t.Add(t[i]);
for (var j = i + 1; j > 1; j--) t[j] += t[j - 1];
Console.Write(((i == 1) ? "" : ", ") + (t[i + 1] - t[i]));
}
</lang>
{{out|Produces}}
<pre>
1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845
</pre>
 
Line 394 ⟶ 413:
1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440 9694845
</pre>
 
=={{header|C Sharp}}==
{{trans|C++}}
<lang csharp>
int n = 15;
List<int> t = new List<int>() { 0, 1 };
for (int i = 1; i <= n; i++)
{
for (var j = i; j > 1; j--) t[j] += t[j - 1];
t.Add(t[i]);
for (var j = i + 1; j > 1; j--) t[j] += t[j - 1];
Console.Write(((i == 1) ? "" : ", ") + (t[i + 1] - t[i]));
}
</lang>
{{out|Produces}}
<pre>
1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845
</pre>
 
 
=={{header|Common Lisp}}==
Line 444:
2674440
9694845</pre>
 
 
=={{header|D}}==
Line 514 ⟶ 513:
[1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845]
</pre>
 
=={{header|Erlang}}==
<lang erlang>
Line 534:
Ans=catl(1,2).
</lang>
 
=={{header|ERRE}}==
<lang ERRE>
Line 1,112 ⟶ 1,113:
{{out}}
<pre>1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440</pre>
 
=={{header|M2000 Interpreter}}==
{{trans|FreeBasic}}
Line 1,175 ⟶ 1,177:
15: 9694845
</pre>
 
 
=={{header|Mathematica}} / {{header|Wolfram Language}}==
Line 1,350 ⟶ 1,351:
 
The <tt>Math::Pari</tt> module also has a binomial, but isn't as fast and overflows its stack after 3400.
 
=={{header|Perl 6}}==
{{works with|Rakudo|2015.12}}
<lang perl6>constant @pascal = [1], -> @p { [0, |@p Z+ |@p, 0] } ... *;
 
constant @catalan = gather for 2, 4 ... * -> $ix {
my @row := @pascal[$ix];
my $mid = +@row div 2;
take [-] @row[$mid, $mid+1]
}
 
.say for @catalan[^20];</lang>
{{out}}
<pre>1
2
5
14
42
132
429
1430
4862
16796
58786
208012
742900
2674440
9694845
35357670
129644790
477638700
1767263190
6564120420</pre>
 
=={{header|Phix}}==
Line 1,707 ⟶ 1,675:
;; 2674440 9694845)
</lang>
 
=={{header|Raku}}==
(formerly Perl 6)
{{works with|Rakudo|2015.12}}
<lang perl6>constant @pascal = [1], -> @p { [0, |@p Z+ |@p, 0] } ... *;
 
constant @catalan = gather for 2, 4 ... * -> $ix {
my @row := @pascal[$ix];
my $mid = +@row div 2;
take [-] @row[$mid, $mid+1]
}
 
.say for @catalan[^20];</lang>
{{out}}
<pre>1
2
5
14
42
132
429
1430
4862
16796
58786
208012
742900
2674440
9694845
35357670
129644790
477638700
1767263190
6564120420</pre>
 
=={{header|REXX}}==
Line 1,884 ⟶ 1,886:
(1 to 15).map(catalan(_))</lang>
{{Out}}See it in running in your browser by [https://scastie.scala-lang.org/2ybpRZxCTOyrx3mIy8yIDw Scastie (JVM)].
 
=={{header|Scilab}}==
<lang>n=15
10,333

edits