При шифровании текстовых сообщений в ASCII-кодировке в вычислительной системе используется алгоритм шифрования, при котором значение каждого следующего байта циклически сдвигается побитно вправо N раз, где N – число единичных битов в предыдущем зашифрованном байте. Первый байт сообщения не шифруется. Расшифруйте зашифрованный фрагмент текста, предоставленный в виде шестнадцатеричной последовательности байт:
73 2B 36 57 93 96 47 97
Принцип циклического одноразрядного сдвига иллюстрирует рисунок:
278
360
Ответы на вопрос:
{1} const s: string = 'ivxlcdm'; var x,i,l,k: integer; begin read(x); {x < 4000} l : = 1000; i : = 4; for i : = 4 downto 1 do begin k : = x div l mod 10; if k = 9 then write(s[i*2-1],s[i*2+1]) else if k = 4 then write(s[i*2-1],s[i*2]) else begin if k > = 5 then begin write(s[i*2]); k : = k - 5 end; for k : = k downto 1 do write(s[i*2-1]) end; l : = l div 10 end end. {2} const eps = 1e-10; stp = 500; var a: real; l,r,m: real; extreme: real; function f(x: real): real; begin f : = a*x - exp(-x) end; begin read(a); if a = 0 then writeln('no solutions') else if a > 0 then begin l : = 0; r : = stp*2; while f(r) < = 0 do begin l : = l + stp; r : = r + stp end; while r - l > eps do begin m : = (l + r)/2; if f(m) > 0 then r : = m else l : = m end; m : = (l + r) / 2; writeln('solution: ',m: 0: 5); writeln('e^-x = ',exp(-m): 0: 5); writeln('ax = ',a*m: 0: 5) end else begin extreme : = ln(-1/a); if f(extreme) < 0 then writeln('no solutions') else if f(extreme) = 0 then writeln('solution: ',extreme) else begin {writeln('extreme: ',extreme); } l : = extreme; r : = 0; while r - l > eps do begin m : = (l + r)/2; if f(m) < 0 then r : = m else l : = m end; m : = (l + r) / 2; writeln('solution 1: ',m: 0: 5); writeln('e^-x = ',exp(-m): 0: 5); writeln('ax = ',a*m: 0: 5); writeln; r : = extreme; l : = r - stp*2; while f(l) > 0 do begin l : = l - stp; r : = r - stp end; while r - l > eps do begin m : = (l + r)/2; if f(m) > 0 then r : = m else l : = m end; m : = (l + r) / 2; writeln('solution 2: ',m: 0: 5); writeln('e^-x = ',exp(-m): 0: 5); writeln('ax = ',a*m: 0: 5) end end end. {3} var c: array [1..12] of 0..7; x,i,k: integer; begin read(x); k : = x; i : = 0; repeat i : = i + 1; c[i] : = k mod 8; k : = k div 8 until k = 0; for i : = i downto 1 do write(c[i]) end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
H2Oя18.05.2022 17:31
-
55brb15.10.2020 17:47
-
artemstepanyuk18.03.2023 00:00
-
dlyaigrmoih109.07.2022 04:33
-
atoko26.03.2022 01:12
-
PolinaRa161020071013.01.2023 01:00
-
иьыдсьызыщдцба26.08.2022 05:35
-
A01AA028.01.2023 17:20
-
мам6505.06.2023 18:37
-
katyaiva199819.02.2022 20:16
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.