• Линейные рекуррентные соотношения первого порядка с переменным коэффициентом.

    К числу, первоначально равному нулю, прибавляется шаг за шагом по единице до получения значения [tex]2^{n}-1[/tex], [tex]n\geq0[/tex]. Докажите, что при этом потребуется [tex]2^{n}-n-1[/tex] переносов единицы в старший разряд.

Ответы 1

  • Для доказательства можно использовать индук­цию. Но формулу 2^n - n - 1 можно вывести, исходя лишь из условия задачи. Обозначим через S(n) исследуемое количество переносов и за­метим, что если прибавлением единиц уже получено число 2^n-1 - 1 (на это потребуется S(n-l) переносов), то очередное прибавление единицы потребует n - 1 переносов и приведет к числу 2^n-1, двоич­ная запись которого есть 10...0 (количество нулей после единицы равно n-1). Далее в процессе достижения числа 11...1 (n единиц) потребуется еще S(n-l) переносов. Получаем рекуррентное уравне­ние S(n) = 2S(n - 1) + n - 1 илиS(n)-2S(n-l) = n-l, (1)при этом s(0) = 0. Характеристическое уравнение, соответствующее рекуррентному уравнению (1), имеет вид А - 2 = 0. Общее реше­ние однородного уравнения S(n) - 2S(n - 1) = 0 есть сТ. Правую часть уравнения (1) можно записать в виде квазиполинома (n-1)*n. Значение 1 не является корнем характеристического уравнения, поэтому (ур. 1) обладает частным решением вида an + X; подставляя это выражение вместо s(n) в (1), получаем an + X - 2(а(n - 1) + X) = n - 1, и, приравнивая в левой и правой частях коэффициенты при первой и нулевой степенях n, имеем а = X = -1. Получаем общее ре­шение уравнения (1): S(n) = C2^n- n- 1. Подбираем значение кон­станты стак, чтобы выполнялось S(0) = 0; для этого должно выпол­няться C •2 - 2 = 0, т. е. C= 1. Итак, потребуется 2^n- n- 1 переносов единиц в старшие разряды.
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years