import numpy as np import math as m def pascal(n: int) -> np.ndarray: p = np.zeros(n + 1) for i in range(n + 1): p[i] = m.factorial(n) / (m.factorial(i) * m.factorial(n - i)) return p def normalized_pascal(n: int) -> np.ndarray: return pascal(n) / 2 ** n N = 10 heads = np.arange(N + 1) print("heads:", heads) print("pascal:", normalized_pascal(N))