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

Задача по информатике 10 класс В велокроссе участвуют 513 спортсменов.Специальное устройство регистрирует прохождение каждым из участников промежуточного финиша,записывая его номер с использованием минимально возможного кол-ва бит,одинакового для каждого спортсмена.Какой информацинный объем в байтах сообщения,записанного устройством,после того как промежуточный финиш спортсменов

Показать ответ
Ответ:
maя
maя
27.08.2020 14:27

a = [1, 100, 10, 2]

a = sorted(a, reverse=True)

if (len(a) > 2):

 if(a[0] != a[1] and a[1] != a[2]):

   print(a[1])

 else:

   print(0)

else:

 print(0)

Объяснение:

Итак, как я понял, абсолютный минимум и максимум это самый большой и самый маленький элемент в списке, значит нам нужно вывести второй по величине. Сортируем массив с sorted(значит мы сортируем массив и записываем результат в a, заменяя старый), причем сортируем с reverse=True так как по умолчанию он сортирует по возрастанию, а нам нужно по убыванию. Затем мы проверяем длинну списка и если в ней есть хотя бы 3 элемента(0, 1, 2 - абсолютный максимум, искомый элемент и абсолютный минимум), то выводим искомый элемент(второй элемент списка, индекс у него 1 так как счет с 0), иначе выводим 0

upd: вложенный if сравнивает первый и второй и второй и третий элементы. Если они равны, то тоже выводим ноль

0,0(0 оценок)
Ответ:
tynvik
tynvik
02.11.2020 20:49

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

#include <iostream>

#include <vector>

using namespace std;

int main () {

   int n, numMin = 0, p = 0;

   cin >> n;

   vector <int> num(n);

   for (int i = 0; i < n; i++)

       cin >> num[i];

   for (int i = 0; i < n; i++) {

       int rav = 0;

       for (int i = p; i < n; i++) {

           if (num[numMin] == num[i]) {

               rav++;

           }

       }

       if (rav == 1) {

           cout << num[numMin] << " ";

       }

       numMin++;

       p++;

   }

return 0;

}

На вход получаю:

5

1 3 3 3 2

На выход получаю:

1 3 2 (вместо 1 2)

1

Объяснение:

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