|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.11.2016, 13:17 | #1 |
Новичок
Джуниор
Регистрация: 12.11.2016
Сообщений: 1
|
Наибольшее произведение
Дано N-целых чисел.Требуется выбрать из них три таких числа, произведение которых максимально.
Входные данные: Во входном файле записано число N-количество чисел в последовательности(3≤N1000000). Далее записана сама последовательность: N целых чисел, по модулю не превышающих 30000. Выходные данные: В выходной файл выведите три искомых числа в любом порядке. Если существует несколько различных троек чисел, дающих максимальное произведение, то выведите любую из них: Пример : Input.txt 9 3 5 1 7 9 0 9 -3 10 Output.txt 9 10 9 2) Input.txt 3 -5 -30000 -12 Output.txt -5 -30000 -12 Подскажите пожалуйста очень надо!!! Последний раз редактировалось adylet; 12.11.2016 в 13:34. |
12.11.2016, 19:53 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Определи сколько положительных и отрицательных чисел на входе и есть ли 0. Запомни по каждой позиции не более трех наибольших положительных, наибольших отрицательных и наименьших отрицательных. А дальше куча if-ов и результат. И ни каких больших массивов и массового умножения
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
13.11.2016, 12:57 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
согласен с Аватар
только проще. ноль вообще не надо запоминать. запоминать нужно три наибольших положительных и два наибольших (по модулю) отрицательных. и сравнить ПроизведениеТрёхПоложительных с ПроизведениеДвухОтрицательныхИОдног оМаксимальногоПоложительного что больше - то и ответ. adylet, алгоритм понятен? Теперь программу без труда, надеюсь, напишете. p.s. и на форуме было решение этой задачи (выбрать из них три таких числа, произведение которых максимально.) |
13.11.2016, 13:15 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А вдруг все отрицательные? Тогда и максимальные отрицательные потребуются, а не только минимальные. Ноль надо: -5, 0, 13, 1 -> макс произведение 0
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
13.11.2016, 22:55 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Да, согласен.
Цитата:
Ноль такое же число, как любое другое, отдельно их наличие учитывать нет смысла. я же говорил, что на форуме эта задача была. http://www.programmersforum.ru/showthread.php?t=263208 http://www.programmersforum.ru/showthread.php?t=167374 Последний раз редактировалось Serge_Bliznykov; 13.11.2016 в 22:58. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Наибольшее число | yana1996 | Visual C++ | 1 | 29.02.2016 18:30 |
Наибольшее четное | lerenia | Помощь студентам | 11 | 16.04.2013 21:33 |
11. Найти произведение элементов нечетных строк массива. Вывести сам массив и произведение. | p-6 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 29.11.2012 23:37 |
Найдите наибольшее произведение пяти последовательных цифр в 1000-значном числе. | RealBig | Помощь студентам | 4 | 30.06.2011 15:10 |
Вычислить произведение P кубов трех чисел a, b и c, если их сумма меньше нуля, произведение P модулей | NoUserName | Помощь студентам | 3 | 01.03.2009 18:10 |