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

Олимпиадная задача информатика Задание 10.

Для простейшего кодирования числовой информации решили использовать побитовую логическую функцию XOR (исключающее ИЛИ) между исходным сообщением и двоичным ключом Ключ нмеет длину, меньшую сообщения, поэтому может применяться циклически несколько раз. начиная отсчет от младшего бита.

СООБЩЕНИЕ XOR (КЛЮЧ)n раз = ШИФРОВКА

Вся информация (и шифровка, и сообщение) используется в шестнадцатеричном виде. Определите двоичный ключ, которым было зашифровано СООБЩЕНИЕ=FB17405А2 (в 16-ой системе счисления) если

получили следующий код ШИФРОВКИ - 484EEC8C4(в 16-ой системе счисления) Функция ХОR даем на выходе истинное значение, если на входе заданы противоположные

аргументы, и ложное значение, если аргументы на входе совпадают. Функция XOR - взаимообратная что используется при шифровании В ответе укажите двоичный код ключа

Показать ответ
Ответ:
stf74149
stf74149
24.08.2021 14:52

n = int(input()) # получаем кол-во продуктов и записываем в n

a = {} # библиотека для цен

c = {} # библиотека для кол-во продукта

l = [] # массив для всех проданных продуктов

for i1 in range(n): # цикл для заполнения всех массивов

   b = [] # массив b для отделения цены о названия продукта

   b.append(input().split()) # записываем продукт и его цену в массив b

   k = int(b[0][len(b[0])-1]) # записываем в k цену продукта

   v = ''

   for i in range(len(b[0])-1): # при цикла объединяем название в                одну строчку и записываем в v

       v = v + str(b[0][i]) + ' '

   l.append(v) # добавляем название в массив l

   a[v] = k # добавляем цену и продукт в библиотеку a

   c[v] = 0 # добавляем продукт в библиотеку b

for i in range(len(l)): # записываем при цикла кол-во каждого продукта

   c[l[i]] = c[l[i]]+1

print(len(c)) # выводим кол-во продуктов, которые были проданы

for i in a: # при цикла выводим продукт и сколько за него в итоге заплатили

   print(str(i)+str(a[i]*c[i]))

Объяснение

0,0(0 оценок)
Ответ:
linaaalinaa
linaaalinaa
11.04.2023 21:29
1 задача:

const n=10;
var 
  min,i: integer;
  a: array[1..n] of integer;
begin
  randomize;
  min:=11;
  for i:=1 to n do begin
    a[i]:=random(1,10);
    write (a[i],' '); // для наглядности. можно удалить
    if  (i mod 2 =1) and (a[i]<min) 
      then min:=a[i];    
  end;
  writeln;
  writeln ('min = ',min)
end.

Пример:
5 4 7 8 6 2 10 4 9 9 
min = 5


2 задача:

const n=10;
var 
  max,count,i: integer;
  a: array[1..n] of integer;
begin
  randomize;
  max:=0;
  count:=0;
  for i:=1 to n do begin
    a[i]:=random(1,10);
    write (a[i],' '); // для наглядности. можно удалить
    if a[i]>max
      then max:=a[i];     
  end;
  for i:=1 to n do 
    if max=a[i] then count:=count+1;
  writeln;
  writeln ('max = ',max);
  writeln ('count = ',count);
end.

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