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

Задача С++
Книжная полка и динамические списки
Денис раскладывает свои книги на полку. Если на полке нет ни одной книги, то он ставит её, если есть, то ставит либо справа, либо слева от уже расставленных книг. Забирает книги он так же, то есть снимает только с правого или левого края. По заданной информации требуется смоделировать действия Дениса и вывести номера книг, которые он будет снимать.

Внимание! При решении задачи нельзя
использовать:
классы библиотеки STL
массивы
Формат входных данных
Входные данные содержат информацию об операциях, которые выполнил Денис, и заканчиваются символом EOF. Информация о каждой операции содержится в отдельной строке.

Каждая операция постановки книги на полку описывается парой чисел. Первое из них (1 или 2) показывает, книга ставится с левого края или с правого, соответственно. Второе целое число (от 0 до 109) обозначает номер книги. Номера книг могут повторяться.

Операции снятия книги с полки описывается одним числом. Число 3 означает, что книга снимается с левого края, 4 - с правого. Гарантируется, что для каждой операции снятия книги на полке будет хотя бы одна книга.

Формат результата
Для каждой операции снятия книги с полки вывести номер снимаемой книги.

Примеры
Входные данные
1 1
2 2
1 3
2 7
2 9
3
4
3
3
4
Результат работы
3
9
1
2
7

Показать ответ
Ответ:
лиза286489
лиза286489
15.03.2021 02:34
Первое задание:

Вам нужно только написать ввод и вывод, формула уже написана.

Код (Python 3):

x, y, z = map(int, input().split())

u=(max(x,y,z) - min(x,y,z))/(max(x,y,z)+min(x,y,z))

print(u)

Пример ввода 1:

1 1 1

Пример вывода 1:

0.0

Пример ввода 2:

3 2 1

Пример вывода 2:

0.5

Второе задание:

Находим максимальное число, и если текущее число не оно, на него можно умножать. Можно использовать список, так решение будет короче, я использую три переменные x, y, z.

Код (Python 3):

x, y, z = map(int, input().split())

max_xyz = max(x, y, z)

product = 1

if x != max_xyz:

   product *= x

if y != max_xyz:

   product *= y

if z != max_xyz:

   product *= z

print(product)

Пример ввода 1:

1 2 3

Пример вывода 1:

2

Пример ввода 2:

3 2 1

Пример вывода 2:

2

0,0(0 оценок)
Ответ:
leksios
leksios
28.08.2022 15:40

begin

 var quantity := 0;

 var amount := 0;

 var A := readinteger();

 var B := readinteger();

 for var i := A to B do

 begin

   if (i mod 3 = 0) and (i mod 10 <> 0) then

   begin

     inc(amount, i);

     inc(quantity);

   end;

 end;

 writeln(amount / quantity:0:2);

end.

Объяснение:

begin  // Начало программы

 var quantity := 0;  // Объявление переменной, хранящей количество элементов, подходящих под условие

 var amount := 0;  // Объявление переменной, хранящей сумму элементов, подходящих под условие

 var A := readinteger();  // Считывание числа А с клавиатуры

 var B := readinteger();  // Считывание числа В с клавиатуры

 for var i := A to B do  // Идём от А до В

 begin  // Начало цикла

   if (i mod 3 = 0) and (i mod 10 <> 0) then  // Если значение переменной i делится на 3 без остатка И значение переменной i не заканчивается на 0

   begin  // Начало условного оператора

     inc(amount, i);  // Прибавляем к переменной amount значение переменной i

     inc(quantity);  // Прибавляем к переменной quantity единицу

   end;  // Конец условного оператора

 end;  // Конец цикла

 writeln(amount / quantity:0:2);  // Вывод среднего арифметического с точностью до 2 знаков после запятой

end. // Конец программы

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