Вопрос по информатике:
На вход программе подаётся последовательность целых чи- сел, каждое из которых не превосходит по модулю 10000 . Числа за- писаны в одной строке через пробел. Признак конца ввода (в последо- вательность не входит) – число 2*109 . Требуется найти и вывести мак- симальное нечётное произведение двух элементов этой последова- тельности, которые располагаются друг от друга на расстоянии не ме- нее 4 (между ними должно быть как минимум три других элемента последовательности). Гарантируется, что в последовательности будет не менее пяти элементов. Если искомого нечётного произведения не существует, то вывести сообщение IMPOSSIBLE
- 11.03.2018 14:43
- Информатика
- remove_red_eye 11926
- thumb_up 50
Ответы и объяснения 1
# Код на ruby 2.2.3p173
def zadanie(s)
numbers = []
s.split(" ").each
max = numbers[0] * numbers[4]
for i in 0..numbers.size - 4
for j in i + 4..numbers.size - 1
p [i,j]
m = numbers[i] * numbers[j]
max = m if m % 2 == 1 and m > max
end
end
if max % 2 == 1
return max
else
return "IMPOSSIBLE"
end
end
# Примеры применения
p zadanie("11 12 2 5 7 6 10 2 8 3 2*109 4")
- 12.03.2018 01:36
- thumb_up 32
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.