Максимальное произведение

В массиве, заполненном произвольными целыми числами, найдите два числа, произведение которых максимально. Вложенные циклы не используйте.

Входные данные

На вход программе сначала подается значение n≤50000
— количество элементов в массиве. В следующей строке входных данных расположены сами элементы массива — целые числа, по модулю не превосходящие 30000

.

Выходные данные

Выдайте два искомых числа в порядке неубывания.

Ответы

Ответ дал: maxum000
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)

Вас заинтересует