Здравствуйте.
Допустим, есть набор числовых последовательностей, получающихся друг из друга по следующему правилу:
1. Первая последовательность состоит из единиц
2. Вторая последовательность копирует первую, но на все позиции, кратные 2, вставляет 2
3. Третья последовательность копирует вторую, но на все позиции, кратные 3, вставляет 3, и так далее:
Код:
1 1 1 1 1 1 1 1 1 1
1 2 1 2 1 2 1 2 1 2
1 2 3 2 1 3 1 2 3 2
1 2 3 4 1 3 1 4 3 2
1 2 3 4 5 3 1 4 3 5
Наверняка эта последовательность последовательностей изучалась. Существует ли аналитическая формула для определения количества повторений числа M в i-той последовательности N-ной длины? Например:
Код:
func count(M int, i int, length int) int { //... }
count(1, 1, 10) == 10
count(1, 2, 10) == 5
count(1, 3, 10) == 3
count(5, 1, 10) == 0
count(5, 5, 10) == 2
Спасибо.