Дипломная работа: Возвратные задачи

Объединение уравнений (5) и (6) с уравнением J(1)=1 дает рекуррентное соотношение, которое определяет J во всех случаях:

J(1) = 1

J(2n) = 2∙J(n) − 1 при n ≥ 1 (7)

J(2n+1) = 2∙J(n) + 1 при n ≥ 1

Решим данное рекуррентное соотношение. Составим таблицу первых значений J(n):

n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
J(n) 1 1 3 1 3 5 7 1 3 5 7 9 11 13 15 1

Если сгруппировать значения n по степеням двойки (в таблице эти группы отделены вертикальными линиями), то в каждой группе J(n) всегда будет начинаться с 1, а затем увеличиваться на 2. Итак, если записать n в виде n = 2m +k, где 2m – наибольшая степень 2, не превосходящая n, а k – то, что остается, то решение рекуррентного соотношения должно иметь вид:

J(2m +k) = 2k+1 при m≥ 0 и 0 ≤ k< 2m (8)

(Если 2m ≤ n< 2m +1 , то остаток k= n−2m удовлетворяет неравенству 2m ≤k+2m <2m +1 , т.е. 0 ≤ k < 2m )

Докажем (8) методом математической индукции по m.

1) База: m = 0 => k = 0

J(20 +0) = J (1) = 2∙0 + 1 = 1 (верно);

2) Индуктивный переход: пусть верно для всех чисел t≤ (m − 1). Докажем для t=m:

a) если m> 0 и 2m +k=2n, то k – четно и J (2 m + k ) = J(2(2m -1 +)) = 2∙J(2m -1 +) − 1 2(2∙ + 1) −1 = 2 k + 1

b) если m > 0 и 2m +k=2n+1, то k – нечетно (т.е. k=2t+1) и J (2 m + k ) = = J(2m +(2t+1)) = J(2(2m -1 +t) +1) 2∙J(2m -1 + t) + 1 2(2t+1) + 1 = 2 k + 1

Другой способ доказательства, когда k – нечетно:

Можно заметить, что J(2n+1) − J(2n) = 2, тогда J(2m +k) = 2 + J(2m + (k− −1))J(2m +k) = 2 + 2(k −1) + 1 => J(2m +k) = 2k+1.

Из пунктов 1 и 2 следует: при m ≥ 0 и 0 ≤ k < 2m J(2m +k) = 2k+1.

Решение всякой задачи может быть обобщено так, что его можно применить к более широкому кругу задач. Поэтому изучим решение (8) и исследуем некоторые обобщения рекуррентного соотношения (7).

Обратимся к двоичным представлениям величин nи J(n) (т.к. степени 2 играли важную роль в нашем поиске решения).

n = (bm bm-1 … b1 b0 )2 ;

т.е. n = bm 2m + bm -1 2m -1 + … + b1 2 + b0

где каждое bi равно 0 или 1, причем старший бит bm равен 1. Вспоминая, что n=2m +k, последовательно получаем:

n = (1 bm-1 … b1 b0 )2

k = (0 bm-1 … b1 b0 )2

(т.к. k= n−2m = 2m + bm-1 2m-1 + … + b1 2 + b0 − 2m = 0∙2m + bm-1 2m-1 + …+ b1 2 + b0 )

2k = (bm-1 … b1 b0 0)2

(т.к. 2 k=2(bm -1 2m -1 +bm -2 2m -2 …+ b1 2 + b0 )=bm -1 2m + bm -2 2m -1 + … + b1 22 + b0 2+0)

2k+1 = (bm-1 … b1 b0 1)2

J(n) = (bm-1 … b1 b0 bm )2

К-во Просмотров: 448
Бесплатно скачать Дипломная работа: Возвратные задачи