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

Расшифровать Кодировки вида BaseN используются давно.

Они были придуманы для перевода произвольной двоичной последовательности (последовательности байт) в текстовый формат для передачи этого текста по сети (например, для протокола электронной почты).

(N) в названии означает длину алфавита, в который кодируется текст. Алфавит всегда выбирается так, чтобы в нем содержались только печатаемые символы.

Вот, например, алгоритм Base32:

Возьмем алфавит как 234567. Всего 32 символа.

Поделим нашу битовую последовательность на блоки по 40 бит (5 байт). Если длина последовательности не кратна 40, то дополняем последний блок нулями и, в зависимости от количества недостающих целых байт, выполняем в самом конце такой алгоритм:

Если не хватило 1 байта, то в итоговом тексте заменим один последний символ на =

Если не хватило 2 байт, то в итоговом тексте заменим три последних символа на =

Если не хватило 3 байт, то в итоговом тексте заменим четыре последних символа на =

Если не хватило 4 байт, то в итоговом тексте заменим шесть последних символов на =

В каждом блоке выделяем по 5 бит и переводим их в десятичную систему счисления (получится число от 0 до 31). Это число будет позицией символа алфавита, который нужно добавить к итоговой строке. Не забываем, что тру программисты считают с нуля.

После выполнения пункта 3 получаем итоговую строку - это и есть наша входная последовательность, закодированная алгоритмом BASE32.

Любой текст можно преобразовать в битовую последовательность (например, при таблицы ASCII) и применить к нему алгоритм Base32. Например, строка 'A' кодируется в 'IE', а 'ABC' в 'IFBEG==='.

Задание

Мы закодировали флаг при алгоритма BASE32, но наш алфавит состоит из нашего русского алфавита, за исключением буквы Ё - . Получилось 'ОНФЗАШЫФМЩЭЦДРЛУЖМЩУДЯИ='. Ты знаешь что нужно делать - достать флаг.

Показать ответ
Ответ:
асиям1239
асиям1239
06.03.2020 18:57

Метод prompt() предназначен для вывода диалогового окна с сообщением, текстовым полем для ввода данных и кнопками «ОК» и «Отмена». Это окно предназначено для запроса данных, которые пользователю нужно ввести в текстовое поле.В переменную result возвращается значение введённое пользователем или null. Если пользователь не ввёл данные (поле ввода пустое) и нажал на «ОК», то в result будет находиться пустая строка.

Например, запросим имя пользователя при входе его на сайт с prompt, а затем выведем его в элемент #welcome:

хотела

0,0(0 оценок)
Ответ:
ванёк20012001
ванёк20012001
03.05.2020 22:25

def sqc(xa,ya,xb,yb,xc,yc) :

   return ((xb - xa) * (yc - ya) - (xc - xa) * (yb - ya)) / 2

 

xa, ya, xb, yb = map(float,input().split())

n, m = map(int,input().split())

astra = []

sc  = []

res, smax = 0, 0

for i in range(n) :

   xc, yc = map(float,input().split())

   astra.append((xc,yc))

   sctmp = sqc(xa,ya,xb,yb,xc,yc)

   if smax < abs(sctmp) :

       smax = abs(sctmp)

   #print(sctmp)

   sc.append(sctmp)

for i in range(m) :

   xc, yc = map(float,input().split())

   sp = sqc(xa,ya,xb,yb,xc,yc)

   if smax < abs(sp) :

       smax = abs(sp)

   #print(sp)

   for j in range(n) :

       xd, yd = astra[j][0], astra[j][1]

       if sp * sc[j] < 0 :

           if smax < abs(sp * sc[j]) :

               smax = abs(sp * sc[j])

print('{:.2f}'.format(smax))

У меня получилось.

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