Эйлерово число 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
?