dovrei scrivere un programma in c++ o fortran che dato in input un n compreso tra 0 e 6 generi e stampi tutte le partizioni possibili dell'insiame S costituito dai primi n numeri naturali.

ad esempio l'insieme costituito dai 3 elementi [a,b,c] può essere partizionato in 5 modi:

{ {a}, {b}, {c} }
{ {a}, {b, c} }
{ {b}, {a, c} }
{ {c}, {a, b} }
{ {a, b, c} }

Nota: il numero di partizioni possibili è espresso dal numero di bell.

Non riesco a scriverlo, qualcuno sa darmi qualche dritta?