А последовательностей типа
вообще бесконечно много?
Это меня как раз и интересует. Я задумался, почему вы это спросили. Быть может это наводящий вопрос? Последовательность
начинается так:
Какой вывод мы можем здесь сразу же сделать? Допустим
это характеристическая функция
. Мы начинаем с
. Т.к.
, то либо
либо
равно единице, а также гарантированно
.
Таким образом мы можем отсеять часть чисел
, при которых гарантированно имеем
, а оставшиеся пары потенциальных единиц заполнять либо парой
, либо парой
.
Я написал простую программку для этого:
Код:
b1(n) = (n + sqrtint(5*n^2))\2
b2(n) = b1(n) + n
b3(n) = b2(n) + 1
b4(n) = my(A = (1 + sqrt(5))/2); floor(2*A) - floor(n*A) - floor((2 - n)*A)
b5(n, m) = my(v1); v1 = vector(b3(m) + 1, i, b4(i)); for(i=1, m, if(bittest(n, i - 1), v1[b3(i)] = 0, v1[b3(i) + 1] = 0)); my(v2, v3); v2 = select(x -> (x == 1), v1, 1); v3 = select(x -> (x == 0), v1, 1); my(A1 = 0, A2 = 0); for(i=1, #v2-1, for(j=i + 1, #v2, A1+=(v2[j] - v2[i]) == b2(j - i) || (v2[j] - v2[i]) == (b2(j - i) + 1))); for(i=1, #v3-1, for(j=i + 1, #v3, A2+=(v3[j] - v3[i]) == b1(j - i) || (v3[j] - v3[i])==(b1(j - i) + 1))); [A1==binomial(#v2, 2) && A2==binomial(#v3, 2)]
b6(n, m, k) = (n%2)*2^m + k
w1 = [0, 1];
for(i=1, 20, my(z = 1, w2 = []); for(j=0, 2*#w1 - 1, if(b5(b6(j, i, w1[j\2 + 1]), i + 1), w2 = concat(w2, b6(j, i, w1[j\2 + 1])))); w2 = vecsort(w2); for(j=1, i+1, print(binary(w2[j]))); w1 = w2);
Вот несколько первых значений которые она возвращает:
Код:
[]
[1]
[1, 1]
[]
[1, 0, 0]
[1, 0, 1]
[1, 1, 1]
[]
[1, 0, 0]
[1, 0, 1]
[1, 1, 0, 1]
[1, 1, 1, 1]
[]
[1, 0, 0]
[1, 0, 1]
[1, 1, 0, 1]
[1, 1, 1, 1]
[1, 1, 1, 1, 1]
[]
[1, 0, 0]
[1, 0, 0, 1, 0, 0]
[1, 0, 0, 1, 0, 1]
[1, 0, 1, 1, 0, 1]
[1, 0, 1, 1, 1, 1]
[1, 1, 1, 1, 1, 1]
[]
[1, 0, 0]
[1, 0, 0, 1, 0, 0]
[1, 0, 0, 1, 0, 1]
[1, 0, 1, 1, 0, 1]
[1, 1, 0, 1, 1, 0, 1]
[1, 1, 0, 1, 1, 1, 1]
[1, 1, 1, 1, 1, 1, 1]
[]
[1, 0, 0, 0, 0, 0, 0, 0]
[1, 0, 0, 0, 0, 1, 0, 0]
[1, 0, 1, 0, 0, 1, 0, 0]
[1, 0, 1, 0, 0, 1, 0, 1]
[1, 0, 1, 0, 1, 1, 0, 1]
[1, 1, 1, 0, 1, 1, 0, 1]
[1, 1, 1, 0, 1, 1, 1, 1]
[1, 1, 1, 1, 1, 1, 1, 1]
Здесь
-тый справа ноль говорит о том, что пара заполняется
. Если же вместо нуля стоит единица, то, соответственно, заполняем как
.
Для чисел принадлежащих последовательности
A001906 (четные числа Фибоначчи) первый слева бит для всех чисел кроме нуля (который отображается как
[]) это единица. Что интересно, если мы будем считать количества сплошных нулей подряд сверху вниз, то вполне вероятно, что они совпадают с соответствующей четной строкой последовательности
A257961 (что можно будет дополнительно проверить через подстановку ее значений в
b5(n, m).
Вот еще для примера:
Код:
[]
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0]
[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0]
[1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0]
[1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0]
[1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0]
[1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1]
[1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1]
[1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1]
[1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1]
[1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1]
[1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1]
[1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1]
[1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1]
[1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1]
[1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1]
[1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1]
[1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
Т.е. вероятно что таких последовательностей бесконечно много и потенциально существует как минимум один способ построения их подпоследовательностей.
Теперь меня интересует другой вопрос. Пусть
Как генерировать пары последовательностей, для которых
при
? Т.е. мы работает с теми же последовательностями, но просто добавляется новое ограничение.