0 / 0 / 2
Регистрация: 17.10.2013
Сообщений: 66
|
|
1 | |
Нахождение чисел с максимальным произведением02.02.2014, 15:10. Показов 1592. Ответов 27
Метки нет (Все метки)
Уважаемые форумчане, помогите написать программу: в массиве нужно найти такую пару числе произведение которых максимально.(числа в массиве могут быть любые)
Заранее благодарен.
0
|
02.02.2014, 15:10 | |
Ответы с готовыми решениями:
27
Найти двойку чисел с максимальным произведением Число с максимальным произведением цифр Найти столбец с максимальным произведением элемента Вывести векторы с максимальным скалярным произведением |
Модератор
9854 / 5224 / 3304
Регистрация: 17.08.2012
Сообщений: 15,983
|
||||||
02.02.2014, 15:47 | 2 | |||||
Сообщение было отмечено Sepheroth как решение
Решение
1
|
0 / 0 / 2
Регистрация: 17.10.2013
Сообщений: 66
|
|
02.02.2014, 16:01 [ТС] | 3 |
Спасибо большое!
0
|
Платежеспособный зверь
8924 / 4352 / 1642
Регистрация: 28.10.2009
Сообщений: 11,567
|
|
02.02.2014, 22:05 | 4 |
Нерациональный алгоритм. Максимум на 3 балла. Всё это можно было легко сделать за 1 проход по массиву.
0
|
Модератор
9854 / 5224 / 3304
Регистрация: 17.08.2012
Сообщений: 15,983
|
|
02.02.2014, 23:51 | 5 |
кот Бегемот, не хотелось использовать четыре переменные.
0
|
Платежеспособный зверь
8924 / 4352 / 1642
Регистрация: 28.10.2009
Сообщений: 11,567
|
|
02.02.2014, 23:57 | 6 |
0
|
Модератор
9854 / 5224 / 3304
Регистрация: 17.08.2012
Сообщений: 15,983
|
|
03.02.2014, 00:16 | 7 |
Да, O(n) лучше, чем O(n2), кто ж спорит... Но в данном случае при O(n) получается уж очень код не очень читабельный... И длинный...
0
|
Платежеспособный зверь
8924 / 4352 / 1642
Регистрация: 28.10.2009
Сообщений: 11,567
|
|
03.02.2014, 00:56 | 8 |
Ну, всё зависит от цели задания. Если просто решить, то и такой код прокатит, а если, например, в ЕГЭ, то результат вообще могут не зачесть, поскольку там по условию алгоритм должен быть однопроходным. А значит минус 6-9 баллов...
0
|
Модератор
9854 / 5224 / 3304
Регистрация: 17.08.2012
Сообщений: 15,983
|
||||||
03.02.2014, 13:02 | 9 | |||||
Не поленился, написал...
Кликните здесь для просмотра всего текста
0
|
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
|
|
03.02.2014, 15:08 | 10 |
Да ну Вас - так извращаться...
Я бы просто отсортировал массив по убыванию и тогда искомые числа - первые два элемента массива.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
03.02.2014, 15:11 | 11 |
Какие 4 переменные? Надо найти всего лишь два наибольших элемента массива, их произведение и будет максимальным.
0
|
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
|
|
03.02.2014, 15:13 | 12 |
0
|
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
|
|
03.02.2014, 15:50 | 15 |
В условии нигде не сказано про произведение абсолютных величин... просто произведение... т.е. работать такой алгоритм будет. А если что, то и сортировку можно делать по абсолютным значениям...
Добавлено через 1 минуту Они не мешают. Добавлено через 1 минуту UI, ааа, я понял что ты имеешь в виду... Добавлено через 13 секунд да, тут можно задуматься... Добавлено через 1 минуту тогда действительно - либо перебором произведений всех, либо сложная и запутанная система проверок на два отрицательных элемента...
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
03.02.2014, 15:53 | 16 |
0
|
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
|
|
03.02.2014, 16:02 | 17 |
taras atavin, ну если предположить, что все значения положительные (а тут уже прокол выходит), то гораздо короче будет записать сортировку вложенным циклом, чем поиск сразу двух максимальных в один проход... или я ошибаюсь?
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
03.02.2014, 16:08 | 18 |
Нет. Вложенный цикл - это два цикла, а поиск двух максимальных - один.
0
|
Супер-модератор
|
||||||
03.02.2014, 16:22 | 19 | |||||
По мне - проще было бы написать
вот так:
0
|
833 / 641 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
|
|
03.02.2014, 16:31 | 20 |
Сортировка не за O(n), если числа любые.
Неверно. 1000 -1000 -2000
0
|
03.02.2014, 16:31 | |
03.02.2014, 16:31 | |
Помогаю со студенческими работами здесь
20
Найти столбец матрицы с максимальным произведением Найти в матрице столбец с максимальным произведением. Вывести число меньшее n с максимальным произведением делителей Найти строку с максимальным произведением элементов в матрице Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |