ベル数は、非負の整数nに対して、集合{1,2,…,n}を部分集合に分割する方法の数を表す整数列です。Pythonを使用して、ベル数を計算する方法を説明します。

まず、正の整数nを指定します。次に、n個のリストを含むリストを作成します。各リストは、すべての可能なサイズの部分集合を含みます。次に、動的プログラミングを使用して、n個の要素からなる部分集合をn個のリストに分割する方法の数を計算します。

以下は、Pythonコードの例です。

def bell_number(n):
    bell = [[0 for i in range(n+1)] for j in range(n+1)]
    bell[0][0] = 1
    
    for i in range(1, n+1):
        bell[i][0] = bell[i-1][i-1]
        
        for j in range(1, i+1):
            bell[i][j] = bell[i-1][j-1] + bell[i][j-1]
    
    return bell[n][0]

print(bell_number(5)) # 52

このコードは、n = 5の場合にベル数を計算します。この例では、ベル数が52であることがわかります。