Блок-схема во вложении. Конечно, она реализует самый примитивный алгоритм, который заключается в умножении В раз А на А. Существуют более оптимальные алгоритмы, основанные на двоичном представлении В. Пусть В=5. Его двоичное представление 101, т.е. 2²+1. Это означает. что нам надо перемножить А и (А*А)². Т.е. вычисление оптимально идет так: С=А², С=С², С=С*А. Итого три умножения вместо четырех. Для больших В "экономия умножений" будет очень большой. Например, для В=1024 потребуется не 1023 умножения, а всего 10.
В 5. Дано: N=256=2^8; m=4; Найти L? Решение: N=L^m; 256=L^m; 256=L^4; L=4 ответ 4. 6. Дано: N=36; k=20 Найти I? всего используется 26 букв + 10 цифр = 36 символов для кодирования 36 вариантов необходимо использовать 6 бит, так как 2^5=32<36<2^6=64, т.е. пяти бит не хватит (они позволяют кодировать только 32 варианта), а шести уже достаточно таким образом, на каждый символ нужно 6 бит (минимально возможное количество бит). полный номер содержит 7 символов, каждый по 6 бит, поэтому на номер требуется 6 x 7 = 42 бита. По условию каждый номер кодируется целым числом байт (в каждом байте – 8 бит), поэтому требуется 6 байт на номер (5x8=40<42<6x8=48), пяти байтов не хватает, а шесть – минимально возможное количество на 20 номеров нужно выделить 20x6=120 байт. ответ: 120 байт 7. Дано N=64 Найти I Всего клеток 8х8 = 64. N=2^i;Для кодирования 1 клетки необходимо 6 бит (2^6=64). В записи решения будет описано 12 клеток (11 ходов+начальная позиция). Объем информации записи 12х6 = 72 бита = 72:8 = 9 байт. ответ: 9 байт.
Конечно, она реализует самый примитивный алгоритм, который заключается в умножении В раз А на А.
Существуют более оптимальные алгоритмы, основанные на двоичном представлении В.
Пусть В=5. Его двоичное представление 101, т.е. 2²+1. Это означает. что нам надо перемножить А и (А*А)². Т.е. вычисление оптимально идет так: С=А², С=С², С=С*А. Итого три умножения вместо четырех. Для больших В "экономия умножений" будет очень большой. Например, для В=1024 потребуется не 1023 умножения, а всего 10.
Дано: N=256=2^8; m=4;
Найти L?
Решение: N=L^m; 256=L^m; 256=L^4;
L=4
ответ 4.
6.
Дано: N=36; k=20
Найти I?
всего используется 26 букв + 10 цифр = 36 символов для кодирования 36 вариантов необходимо использовать 6 бит, так как 2^5=32<36<2^6=64, т.е. пяти бит не хватит (они позволяют кодировать только 32 варианта), а шести уже достаточно таким образом, на каждый символ нужно 6 бит (минимально возможное количество бит).
полный номер содержит 7 символов, каждый по 6 бит, поэтому на номер требуется 6 x 7 = 42 бита.
По условию каждый номер кодируется целым числом байт (в каждом байте – 8 бит), поэтому требуется 6 байт на номер (5x8=40<42<6x8=48), пяти байтов не хватает, а шесть – минимально возможное количество на 20 номеров нужно выделить 20x6=120 байт.
ответ: 120 байт
7. Дано N=64 Найти I
Всего клеток 8х8 = 64. N=2^i;Для кодирования 1 клетки необходимо 6 бит (2^6=64). В записи решения будет описано 12 клеток (11 ходов+начальная позиция). Объем информации записи 12х6 = 72 бита = 72:8 = 9 байт.
ответ: 9 байт.