オイラー数 A(n, m)
の順列の数であり、[1, 2, ..., n]
正確にここでm
要素が前の要素よりも大きいです。これらはライズとも呼ばれます。たとえば、の場合n = 3
、3!= 6個の順列[1, 2, 3]
1 2 3
< < 2 elements are greater than the previous
1 3 2
< > 1 ...
2 1 3
> < 1 ...
2 3 1
< > 1 ...
3 1 2
> < 1 ...
3 2 1
> > 0 ...
以下のために出力し、A(3, m)
ためm
では[0, 1, 2, 3]
となります
A(3, 0) = 1
A(3, 1) = 4
A(3, 2) = 1
A(3, 3) = 0
また、これはOEISシーケンスA173018です。
ルール
- これはコードゴルフなので、最短のコードが優先されます。
- 入力
n
は負でm
はない整数で、範囲内の整数になります[0, 1, ..., n]
。
テストケース
n m A(n, m)
0 0 1
1 0 1
1 1 0
2 0 1
2 1 1
2 2 0
3 0 1
3 1 4
3 2 1
3 3 0
4 0 1
4 1 11
4 2 11
4 3 1
4 4 0
5 1 26
7 4 1191
9 5 88234
10 5 1310354
10 7 47840
10 10 0
12 2 478271
15 6 311387598411
17 1 131054
20 16 1026509354985
42 42 0
n = 10
。
m
必要に応じてサポートできますが、0 <= m <= nで0 <= nの場合にのみ有効であることを要求します。
n, m
ますか?