Вы хотите возвести данное число a в некоторую целочисленную степень n, но ваш
калькулятор умеет только перемножать числа. Например, вы можете вычислить a 2 = a × a,
затем вы можете вычислить a 3 = a 2 × a или a 4 = a 2 × a 2 . Вы можете по-разному
организовать вычисление значения a n . Например, вычислить a 5 можно за 4 умножения: 1) a 2
= a × a, 2) a 3 = a 2 × a, 3) a 4 = a 3 × a, 4) a 5 = a 4 × a. Но можно вычислить a 5 всего лишь за 3
умножения: 1) a 2 = a × a, 2) a 3 = a 2 × a, 3) a 5 = a 3 × a 2. Вам необходимо определить, за
какое минимальное число умножений можно вычислить следующие степени: 7, 15, 23, 63.
Вычисление каждой из этих степеней должно быть независимо от остальных, то есть при
вычислении 15-й степени нельзя использовать вычисления, проделанные ранее для
вычисления 7-й степени. Вы решаете четыре независимые задачи – за какое минимальное
число умножений можно вычислить 7-ю степень, 15-ю степень, 23-ю степень и 63-ю степень.
var
c, a: array[1..20] of integer;
i: integer;
begin
write('Первый массив ');
for i := 1 to 20 do begin
c[i] := i * (-5);
write(c[i], ' ');
end;
writeln;
write('Преобразованный массив ');
for i := 1 to 20 do begin
a[i] := c[20 - i + 1];
write(a[i], ' ');
end;
end.
ИЛИ Программа не использующая два массива, а просто переворачивающая первый
var
c: array[1..20] of integer;
i: integer;
begin write('Первый массив ');
for i := 1 to 20 do begin
c[i] := i * (-5);
write(c[i], ' ');
end;
writeln;
write('Преобразованный массив ');
for i := 20 downto 1 do write(c[i], ' ');
end.
Обе программы работают!
Задаем вопросы: - Друг живет выше 8-го этажа?
Нет.
После этого ответа число вариантов уменьшилось в два раза, следовательно, информационная неопределенность уменьшилась в два раза. Получен 1 бит информации.
Друг живет выше 4-го этажа?
Да.
Число вариантов уменьшилось еще в два раза, получен еще 1 бит информации.
Друг живет выше 6-го этажа?
Да.
После данного ответа осталось два варианта: друг живет или на 7 этаже, или на 8 этаже. Получен еще 1 бит информации.
Друг живет на 7-м этаже?
Нет.
Все ясно. Друг живет на 8-м этаже.
Каждый ответ уменьшал информационную неопределенность в два раза. Всего было задано 4 вопроса. Получено 4 бита информации. Сообщение о том, что друг живет на 8-м этаже 16-ти этажного дома несет 4 бита информации.