Bell numbers: Difference between revisions

Content added Content deleted
m (→‎{{header|REXX}}: added zkl header)
(→‎{{header|zkl}}: added code)
Line 258: Line 258:


=={{header|zkl}}==
=={{header|zkl}}==
<lang zkl>fcn bellTriangleW(start=1,wantRow=False){ // --> iterator
<lang zkl></lang>
Walker.zero().tweak('wrap(row){
<lang zkl></lang>
row.insert(0,row[-1]);
foreach i in ([1..row.len()-1]){ row[i]+=row[i-1] }
wantRow and row or row[-1]
}.fp(List(start))).push(start,start);
}</lang>
<lang zkl>println("First fifteen Bell numbers:");
bellTriangleW().walk(15).println();</lang>
{{out}}
{{out}}
<pre>
<pre>
First fifteen Bell numbers:

L(1,1,2,5,15,52,203,877,4140,21147,115975,678570,4213597,27644437,190899322)
</pre>
<lang zkl>println("Rows of the Bell Triangle:");
bt:=bellTriangleW(1,True); do(11){ println(bt.next()) }</lang>
{{out}}
<pre>
Rows of the Bell Triangle:
1
1
L(1,2)
L(2,3,5)
L(5,7,10,15)
L(15,20,27,37,52)
L(52,67,87,114,151,203)
L(203,255,322,409,523,674,877)
L(877,1080,1335,1657,2066,2589,3263,4140)
L(4140,5017,6097,7432,9089,11155,13744,17007,21147)
L(21147,25287,30304,36401,43833,52922,64077,77821,94828,115975)
</pre>
{{libheader|GMP}} GNU Multiple Precision Arithmetic Library
<lang zkl>print("The fiftieth Bell number: ");
var [const] BI=Import("zklBigNum"); // libGMP
bellTriangleW(BI(1)).drop(50).value.println();</lang>
{{out}}
<pre>
The fiftieth Bell number: 10726137154573358400342215518590002633917247281
</pre>
</pre>