How to resolve the algorithm Bell numbers step by step in the Quackery programming language
How to resolve the algorithm Bell numbers step by step in the Quackery programming language
Table of Contents
Problem Statement
Bell or exponential numbers are enumerations of the number of different ways to partition a set that has exactly n elements. Each element of the sequence Bn is the number of partitions of a set of size n where order of the elements and order of the partitions are non-significant. E.G.: {a b} is the same as {b a} and {a} {b} is the same as {b} {a}.
A simple way to find the Bell numbers is construct a Bell triangle, also known as an Aitken's array or Peirce triangle, and read off the numbers in the first column of each row. There are other generating algorithms though, and you are free to choose the best / most appropriate for your case.
Write a routine (function, generator, whatever) to generate the Bell number sequence and call the routine to show here, on this page at least the first 15 and (if your language supports big Integers) 50th elements of the sequence. If you do use the Bell triangle method to generate the numbers, also show the first ten rows of the Bell triangle.
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Bell numbers step by step in the Quackery programming language
Source code in the quackery programming language
[ ' [ [ 1 ] ] ' [ 1 ]
rot 1 - times
[ dup -1 peek nested
swap witheach
[ over -1 peek + join ]
tuck nested join swap ]
drop ] is bell's-triangle ( n --> [ )
[ bell's-triangle [] swap
witheach [ 0 peek join ] ] is bell-numbers ( n --> [ )
say "First fifteen Bell numbers:" cr
15 bell-numbers echo
cr cr
say "Fiftieth Bell number:" cr
50 bell-numbers -1 peek echo
cr cr
say "First ten rows of Bell's triangle:" cr
10 bell's-triangle witheach [ echo cr ]
You may also check:How to resolve the algorithm Multi-dimensional array step by step in the Forth programming language
You may also check:How to resolve the algorithm Array concatenation step by step in the BQN programming language
You may also check:How to resolve the algorithm Empty string step by step in the JavaScript programming language
You may also check:How to resolve the algorithm Knight's tour step by step in the PostScript programming language
You may also check:How to resolve the algorithm Sorting algorithms/Counting sort step by step in the Lua programming language