В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
DOGY228
DOGY228
12.09.2020 08:07 •  Информатика

Вы хотите возвести данное число 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-ю степень.​

Показать ответ
Ответ:
dgrigoref
dgrigoref
19.06.2022 11:18
Программа, которая использует два массива

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.

Обе программы работают!
0,0(0 оценок)
Ответ:
korolepp
korolepp
22.11.2022 17:27
Информационная неопределенность (количество возможных результатов события) равна 16. Будем задавать вопросы, на которые можно ответить только «да» или «нет». Вопрос будем ставить так, чтобы каждый ответ приносил 1 бит информации, т.е. уменьшал информационную неопределенность в два раза.
Задаем вопросы: - Друг живет выше 8-го этажа?
Нет.
После этого ответа число вариантов уменьшилось в два раза, следовательно, информационная неопределенность уменьшилась в два раза. Получен 1 бит информации.
 Друг живет выше 4-го этажа?
Да.
Число вариантов уменьшилось еще в два раза, получен еще 1 бит информации.
Друг живет выше 6-го этажа?
Да.
После данного ответа осталось два варианта: друг живет или на 7 этаже, или на 8 этаже. Получен еще 1 бит информации.
Друг живет на 7-м этаже?
Нет.
Все ясно. Друг живет на 8-м этаже.
Каждый ответ уменьшал информационную неопределенность в два раза. Всего было задано 4 вопроса. Получено 4 бита информации. Сообщение о том, что друг живет на 8-м этаже 16-ти этажного дома несет 4 бита информации.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота