が全射を持つためには, である必要がある.
ワーシャル・フロイド法を改造して の経路のうち途中の の最小値が最も大きくなるものを求めておく. その上でそれぞれの全射の数を合計する. なお, の全射の数は, これが合成関数かどうかにかかわらず と だけ見ればいい. (入力と出力が一致する関数は同一とみなすため)
() の全射の数は, の要素の並びの組み合わせ数が 通りであり, の要素を 個のグループに分ける組み合わせの数が第二種スターリング数を使って 個であるので, この積となる.
, はあらかじめ計算しておく.