Фибоначчи определяется рекурсивно для этого вопроса как: F~0 = 1 F~1 = 1 F~n = F~n-1 + F~n-2 для n >= 2 Таким образом, пользовательская двоичная строка всегда начинается с 1 и никогда имеет два последовательных. Если s = s~Ls~L-1...s~1 является такой строкой длины L, где s~i находится в {0,1}, число, представленное s, равно: n(s) = Sigma (i = от 1 до L) s~ix F~i Пример: n(1000101) = F~7 + F~3 + F~1 = 21 + 3 + 1 = 25
(a) Докажите для каждого L >= 1, если s — произвольное двоичное число длины L, n(s) >= F~L
(b) Докажите для каждого L >= 1, если s — произвольное двоичное число длины L, n(s) ‹ F~L + 1
Я пытался доказать с помощью индукции, но безуспешно, скорее всего, потому, что я делаю это неправильно. Я не знаю, как еще доказать это для общего случая L > 1.
'~' означает, что у переменной есть индекс
10
с L=2. Согласно вашей формуле,n(10) = 1
меньше, чемF~2 = 2
. Для части b рассмотрим101
длиной 3.n(101) = 1xF~1 + 1xF~3 = 1 + 3 = 4
, что в точности равноF~L + 1
- person Jason Baker   schedule 25.09.2014n(10)
. Хорошо, тогда часть а верна, и это легко доказать (индукция не требуется). Однако я все еще не уверен, что часть b верна для всех L. Допустил ли я какие-либо ошибки при расчетеn(101)
или при интерпретации полученного ответа? - person Jason Baker   schedule 25.09.2014(F~L)+1
, но вы имели в видуF~(L+1)
. Теперь мы на одной странице - person Jason Baker   schedule 25.09.2014