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

Егэ.27. информатика. надо написать программу на 4 . условие. последовательность на спутнике «восход» установлен прибор, предназначенный для измерения солнечной активности. каждую минуту прибор передаёт по каналу связи неотрицательное целое число – количество энергии солнечного излучения, полученной за последнюю минуту, измеренное в условных единицах. временем, в течение которого происходит передача, можно пренебречь. необходимо найти в заданной серии показаний прибора максимальное чётное произведение двух показаний, между моментами передачи которых не менее 9 минут. если получить такое произведение не удаётся, ответ считается равным –1. количество энергии, получаемое прибором за минуту, не превышает 1000 условных единиц. общее количество показаний прибора в серии не превышает 10 000. мое решение var n, i, j, d, max: integer; a: array[1..9] of integer; begin readln(n); max : = -1; for i : = 1 to 9 do readln(a[i]); for i : = 10 to n do begin readln(d); if a[1] mod 2 = 0 then begin if a[1] * d > max then max : = a[1] * d end else if d mod 2 = 0 then if a[1] * d > max then max : = a[1] * d; for j : = 1 to 8 do a[j] : = a[j + 1]; a[9] : = d; end; writeln(max) end. потянет ли это решение на 4 ? если нет, что можно улучшить.

Показать ответ
Ответ:
халк65
халк65
28.09.2021 12:25
// pascalabc.net 3.3, сборка 1579 от 18.11.2017 // внимание! если программа не работает, обновите версию! begin   writeln('*** исходный массив ***');   var a: =matrrandom(2,4,-10,30);   a.println(4); writeln(4*a.colcount*'-');   writeln('п = ',a.elementsbyrow.where(t-> t.between(1,19))           .aggregate(1,(x,y)-> x*y)) end. пример *** исходный массив ***   24  16  22  12     2    5    1    8 п = 15360
0,0(0 оценок)
Ответ:
Larisa150301
Larisa150301
04.11.2021 01:34
Берем третьи байты и переводим в двоичную систему счисления:добавим в начале нулей, чтобы получилось 8 цифр.   ←    ←  найдем маску. запишем с столбик. если элементы одинаковые, ставим соответствующее число, если элементы разные, ставим крестик: 00000101 00011101 000xx101    ← маска т.к. по правилу в маске, сначала идут единицы, переместим их в начало: 11xx0000 если бы по условию, надо было бы найти наименьшее возможное значение, то мы бы заменяли крестики(х) на нули. т.к. по условию необходимо наибольшее возможное значение, подставляем вместо крестиков(x), единицу и переведем в десятичную систему счисления:
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота