Объясните формулу связанную с системой счисления
Приведённая формула выглядит странно. Всё намного проще:
Nₖ = ⌈Pₖ₊₁/Pₖ⌉ Если Pₖ₊₁ делится на Pₖ, то ⌈Pₖ₊₁/Pₖ⌉ в точности равно Pₖ₊₁/Pₖ. А если не делится, результат деления округляется вверх. И это не зависит от того, есть в системе основание или его нет.
Возьмём обычную десятичную систему счисления. В ней для любого k:
Pₖ₊₁/Pₖ = 10 (P₀ = 1, P₁ = 10, P₂ = 100 и т.д.) Соответственно, каждый разряд может содержать одно из 10 значений: от 0 до 9 включительно.
Возьмём факториальную систему счисления. В ней:
Pₖ₊₁/Pₖ = k + 2 (т.к. P₀ = 1! = 1, P₁ = 2! = 2, P₂ = 3! = 6 и т.д.) Т.е. разряд с номером k может содержать одно из k + 2 значений: от 0 до k + 1 включительно.
Это обеспечивает возможность записи любых чисел и единственность представления каждого числа.
В десятичной системе счисления число 9999 представляется в виде: 9*1 + 9*10 + 9*100 + 9*1000 и никак иначе.
В факториальной системе число 119 записывается в виде 1*1! + 2*2! + 3*3! + 4*4!, а число 120 - это уже 0*1! + 0*2! + 0!*3! + 0!*4! + 1*5!. И по другому ты эти числа никак не запишешь.
Но когда числа базиса не делятся друг на друга, ситуация становится сложнее. В такой системе уже нельзя записать числа однозначно: обязательно найдутся числа, которые можно записать несколькими способами. Но округление результата деления вверх (прибавление 1 в формуле на скриншоте) гарантирует, что можно записать любое число.
Например, возьмём в качестве базиса числа Фибоначчи:
P₀ = Fib(2) = 1, P₁ = Fib(3) = 2, P₂ = Fib(4) = 3, P₃ = Fib(5) = 5 и т.д. В этом случае Pₖ₊₁ не делится на Pₖ (за исключением P₁ / P₀) и для любых k:
1 < Pₖ₊₁/Pₖ ≤ 2 Следовательно, для любых k:
⌈Pₖ₊₁/Pₖ⌉ = 2 И любой разряд в записи числа может принимать 2 значения: 0 или 1.
"это понять нельзя, это надо запомнить"(ц)
это скорее двоичная сс