Вопрос по информатике:
Пара элементов в массиве называется симметричной , если эти элементы находятся на одинаковом расстоянии от концов массива. Так в массиве размером N симметричными будут пары элементов с порядковыми номерами 1 и N , 2 и N - 1 и т.д. (при нумерации с единицы). Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [ A , B ] и определяет номера двух симметричных элементов этого массива, сумма которых чётная и максимальная среди всех пар симметричных элементов. Если ни одной такой пары нет, нужно вывести два нуля. Если есть несколько таких пар, нужно вывести номера элементов, составляющих пару, ближайшую к центру массива.
Входные данные
Входная строка содержит три числа: границы диапазона случайных чисел A и B , а также размер массива N . Все числа разделены пробелами. Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
В первой строке программа должна вывести N элементов построенного массива, разделив их пробелами, а во второй строке – номера двух симметричных элементов массива, имеющих максимальную чётную сумму. Если ни одной такой пары нет, нужно вывести два нуля.
Примеры
входные данные
10 20 10
выходные данные
10 10 19 12 13 17 13 11 14 14
5 6
- 26.08.2017 01:13
- Информатика
- remove_red_eye 4586
- thumb_up 17
Ответы и объяснения 1
123456789101112131415161718192021222324252627var c: array[1..10000] of integer; a, b, n, i, max, max1, max2, p, k, v, m: integer; begin randomize; max := -10000; Readln(a, b, n); for i := 1 to n do begin c[i] := random(b - a + 1) + a; Write(c[i], ' '); end; if ((n mod 2) = 0) then k := n div 2 else k := n div 2; for p := 1 to k do begin m := c[p] + c[n - p + 1]; if ((m mod 2) = 0) and (m >= max) then begin max := m; max1 := p; max2 := n - p + 1; inc(v); end; end; Writeln(' '); if (v = 0) then Writeln(0, ' ', 0) else Writeln(max1, ' ', max2);end.
- 27.08.2017 19:08
- thumb_up 31
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.