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 |
|||
⚫ | |||
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 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> |