кококо23
23.10.2020 22:23

Для записи текста использовался алфавит в котором каждый символ кодируется 9 битами. Какой объём информации в килобайтах содержат 48 страниц текста, если на каждой странице расположено 16 строки по 32 символа в строке?​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
GGGKazakhstan
01.08.2021 16:22

89, 504

Объяснение:

Б) Пусть aК(n) - количество строк длины n, которые оканчиваются на К, и aA(n) - количество строк длины n, которые оканчиваются на А. Очевидно, aK(1) = aA(1) = 1.

Посчитаем, чему равны aK(n + 1) и aA(n + 1).

К можно дописать к любой строке, которая кончается на А. Поэтому aK(n + 1) = aA(n)A можно приписать вообще к любой строке. Значит, aA(n + 1) = aA(n) + aK(n)

Общее количество строк длины n > 2 равно a(n) = aK(n) + aA(n) = aA(n - 1) + a(n - 1) = a(n - 1) + a(n - 2).

Вычисляем значения a(n):

a(1) = 2

a(2) = 3 (АА, АК, КА)

a(3) = 2 + 3 = 5

a(4) = 3 + 5 = 8

a(5) = 5 + 8 = 13

a(6) = 8 + 13 = 21

a(7) = 13 + 21 = 34

a(8) = 21 + 34 = 55

a(9) = 34 + 55 = 89

В последовательности можно увидеть известную последовательность Фибоначчи.

В) Аналогично, введем aA(n), aК(n), aKK(n) - количество строк, оканчивающихся на А, ровно одно К и ровно два К. Общее количество строк будем так же обозначать как a(n).

aA(n + 1) = a(n)

aK(n + 2) = aA(n + 1) = a(n)

aKK(n + 3) = aK(n + 2) = a(n)

Итого, при n > 3 выполнено a(n) = a(n - 1) + a(n - 2) + a(n - 3).

a(1) = 2

a(2) = 4

a(3) = 7 (всего строк длины три 8, не подходит ККК).

a(4) = 2 + 4 + 7 = 13

a(5) = 4 + 7 + 13 =  24

a(6) = 7 + 13 + 24 = 44

a(7) = 13 + 24 + 44 = 81

a(8) = 24 + 44 + 81 = 149

a(9) = 44 + 81 + 149 = 274

a(10) = 81 + 149 + 274 = 504

Если в случае возникла последовательность Фибоначчи, то тут так называемая последовательность Трибоначчи - каждый новый член равен сумме трёх предыдущих

0,0(0 оценок)
Ответ:
solnisko22
18.09.2021 05:57

ответ:Алгоритм Карацубы — метод быстрого умножения со сложностью вычисления nlog23. В то время, как наивный алгоритм, умножение в столбик, требует n2 операций. Следует заметить, что при длине чисел короче нескольких десятков знаков (точнее определяется экспериментально), быстрее работает обычное умножение.

Представим, что есть два числа A и B длиной n в какой-то системе счисления BASE:

A = an-1an-2...a0

B = bn-1an-2...a0, где a?, b? — значение в соотв. разряде числа.

Каждое из них можно представить в виде суммы их двух частей, половинок длиной m = n / 2 (если n нечетное, то одна часть короче другой на один разряд:

A0 = am-1am-2...a0

A1 = an-1an-2...am

A = A0 + A1 * BASEm

B0 = bm-1bm-2...b0

B1 = bn-1bn-2...bm

B = B0 + B1 * BASEm

Тогда: A * B = ( A0 + A1 * BASEm ) * ( B0 + B1 * BASEm ) = A0 * B0 + A0 * B1 * BASEm + A1 * B0 * BASEm + A1 * B1 * BASE2 * m = A0 * B0 + ( A0 * B1 + A1 * B0 ) * BASEm + A1 * B1 * BASE2 * m

Здесь нужно 4 операции умножения (части формулы * BASE? * m не являются умножением, фактически указывая место записи результата, разряд). Но с другой стороны:

( A0 + A1 ) * ( B0 + B1 ) = A0 * B0 + A0 * B1 + A1 * B0 + A1 * B1

Посмотрев на выделенные части в обоих формулах. После несложных преобразований количество операций умножения можно свести к 3-м, заменив два умножения на одно и несколько операций сложения и вычитания, время выполнения которых на порядок меньше:

A0 * B1 + A1 * B0 = ( A0 + A1 ) * ( B0 + B1 ) — A0 * B0 — A1 * B1

Окончательный вид выражения:

A * B = A0 * B0 + (( A0 + A1 ) * ( B0 + B1 ) — A0 * B0 — A1 * B1 ) * BASEm + A1 * B1 * BASE2 * m

Объяснение:

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота