Форум » Обработка числовых последовательностей » Задание № 27. Верный ли алгоритм? » Ответить

Задание № 27. Верный ли алгоритм?

Волков: Здравствуйте! Такой алгоритм поиска минимального четного произведения в этом задании будет правильным? Ищутся минимальное четное и нечетное число, отстоящие на 7 элементов, с мин. четным перемножается любой элемент, с мин. нечетным - только чётный. Задание: В физической лаборатории проводится долговременный эксперимент по изучению гравитационного поля Земли. По каналу связи каждую минуту в лабораторию передаётся положительное целое число — текущее показание прибора «Сигма 2015». Количество передаваемых чисел в серии известно и не превышает 10 000. Все числа не превышают 1000. Временем, в течение которого происходит передача, можно пренебречь. Необходимо вычислить «бета-значение» серии показаний прибора — минимальное чётное произведение двух показаний, между моментами передачи которых прошло не менее 7 минут. Если получить такое произведение не удаётся, ответ считается равным –1. (РешуЕГЭ) Алгоритм: var a: array[0..5] of integer; var N, i, x, minevenb, minoddb: integer; var pr1, pr2, res: longint; begin readln(N); for i := 1 to 6 do readln(a[i mod 6]); minevenb := 1001; minoddb := 1001; pr1 := 1000003; pr2 := 1000003; for i := 7 to N do begin readln(x); if (a[i mod 6] mod 2 = 0) and (a[i mod 6] < minevenb) then minevenb := a[i mod 6]; if (a[i mod 6] mod 2 = 1) and (a[i mod 6] < minoddb) then minoddb := a[i mod 6]; if (x * minevenb) < pr1 then pr1 := x * minevenb; if (x mod 2 = 0) and (x * minoddb < pr2) then pr2 := x * minoddb; a[i mod 6] := x; end; if pr1 < pr2 then res := pr1 else res := pr2; writeln(pr1, ' ', pr2); end.

Ответов - 0



полная версия страницы