Предмет: Информатика,
автор: omazda18
Максимальное произведение
В массиве, заполненном произвольными целыми числами, найдите два числа, произведение которых максимально. Вложенные циклы не используйте.
Входные данные
На вход программе сначала подается значение n≤50000
— количество элементов в массиве. В следующей строке входных данных расположены сами элементы массива — целые числа, по модулю не превосходящие 30000
.
Выходные данные
Выдайте два искомых числа в порядке неубывания.
Ответы
Автор ответа:
1
Максимально произведение будет лишь у самого наибольшего числа в списки и другого числа на ступень ниже. Поэтому находим 2 наибольших числа в списке.
import random
n = int(input("n = "))
while (n > 50000):
n = int(input("n = "))
s = [random.randint(0,30000) for i in range(n)]
max_1 = s[0]
max_2 = s[0]
for i in s:
if i>max_1:
max_1 = i
for i in s:
if i>max_2 and i != max_1:
max_2 = i
print(max_2,max_1)
Похожие вопросы
Предмет: Русский язык,
автор: артем1023
Предмет: Русский язык,
автор: markevichk14
Предмет: Русский язык,
автор: Небо333
Предмет: Физика,
автор: lizaborshik12321
Предмет: Обществознание,
автор: Ночка01