Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 19.12.2018
Сообщений: 14

Дано N целых чисел. Требуется выбрать из них три таких числа, произведение которых максимально

19.12.2018, 21:35. Показов 5385. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста с задачкой, именно решение кодом, не подборкой пожалуйста.


Дано N целых чисел. Требуется выбрать из них три таких числа, произведение которых максимально.

Входные данные
Во входном файле записано сначала число N — количество чисел в последовательности (3≤N≤106). Далее записана сама последовательность: N целых чисел, по модулю не превышающих 30000.

Выходные данные
В выходной файл выведите три искомых числа в любом порядке. Если существует несколько различных троек чисел, дающих максимальное произведение, то выведите любую из них.

Примеры
входные данные
9
3 5 1 7 9 0 9 -3 10
выходные данные
9 10 9
входные данные
3
-5 -30000 -12
выходные данные
-5 -30000 -12
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.12.2018, 21:35
Ответы с готовыми решениями:

Выбрать из заданных чисел три таких числа, произведение которых максимально (repeat)
Дано N целых чисел. Требуется выбрать из них три таких числа, произведение которых максимально. через оператор repeat полегче чтоб, школа

Дано N целых чисел. Требуется выбрать из них максимальное число.
народ всем привет помогите плс мои задания : 1.Дано N целых чисел. Требуется выбрать из них максимальное число. Ввод Вводится...

Найти три целых числа таких, что сумма кубов двух из них равняется кубу третьего числа
Помогите решить задачу: "Найти три целых числа таких, что сумма кубов двух из них равняется кубу третьего числа". Заранее спасибо...

24
0 / 0 / 0
Регистрация: 19.12.2018
Сообщений: 14
20.12.2018, 19:36  [ТС]
Студворк — интернет-сервис помощи студентам
https://www.cyberforum.ru/java... st13179248
0
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
20.12.2018, 19:40
Цитата Сообщение от NiceJacket Посмотреть сообщение
Ориентировочно, это 6n
значит линейно)

Добавлено через 4 минуты
vcrop,
Да, вы правы. Я исходил с того что будет хотябы 1 положительный.
Еще надо бы проверить не будет ли нулем хотя бы один с 6-ти крайних..
0
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
20.12.2018, 19:40
Цитата Сообщение от Neon Racer Посмотреть сообщение
Java начало задачи
это к чему?
0
3 / 3 / 1
Регистрация: 11.08.2018
Сообщений: 9
29.01.2019, 18:59
пользуйтесь
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#include <stdio.h>
#include <iostream>
#include <cstdio>
 
#include <vector>
#include <assert.h>
#include <algorithm>
 
 
using namespace std;
 
 
const int INF = 1e9;
struct edge
{
    int x,y,cost;
    bool prox;
};
 
int main()
{
    int n;
    cin>>n;
    vector<int> sf(n);
    for(int i = 0; i<n; i++)
    {
       scanf("%d", &sf[i]);
    }
    // cout<<endl;
    sort(sf.begin(),sf.end());
 
    vector<long long> ans;
 
  if(n >= 6)
    {
        ans.push_back(sf[0]);
        ans.push_back(sf[1]);
        ans.push_back(sf[2]);
        ans.push_back(sf[n-1]);
        ans.push_back(sf[n-2]);
        ans.push_back(sf[n-3]);
    }
    else if(n == 5)
    {
        ans.push_back(sf[0]);
        ans.push_back(sf[1]);
        ans.push_back(sf[2]);
        ans.push_back(sf[n-1]);
        ans.push_back(sf[n-2]);
 
    }
    else if(n == 4)
    {
        ans.push_back(sf[0]);
        ans.push_back(sf[1]);
        ans.push_back(sf[2]);
        ans.push_back(sf[n-1]);
 
    }
    else if(n == 3)
    {
        ans.push_back(sf[0]);
        ans.push_back(sf[1]);
        ans.push_back(sf[2]);
 
 
    }
 
 
 
    int j = ans.size();
  //  cout<< ((-30000)*(-30000) )* 1LL * (-30000) <<endl;
    long long h =   ((-30000)*(-30000) )* 1LL * (-30000) ;
    //cout<<h<<endl;
    for(int i = 0; i<j; i++)
    {
 
        for(int y = 0; y<j; y++)
        {
            if(i != y)
                for(int z = 0; z<j; z++)
                {
 
                    if(i!=z && y != z && i != y)
                    {
                        long long r= (ans[i]*ans[y])* 1LL *ans[z];
                        h = max(h,r*1LL);
 
                    }
 
                }
 
 
 
        }
 
 
    }
    cout<<h<<endl;
 
 
}
 
 
/*
 
3
-30000 -30000 -30000
 
3
30000 30000 30000
 
*/
 
 
 
 
 
 
 
/*
else  if(n >= 6)
    {
        ans.push_back(sf[0]);
        ans.push_back(sf[1]);
        ans.push_back(sf[2]);
        ans.push_back(sf[n-1]);
        ans.push_back(sf[n-2]);
        ans.push_back(sf[n-3]);
    }
    else if(n == 5)
    {
        ans.push_back(sf[0]);
        ans.push_back(sf[1]);
        ans.push_back(sf[2]);
        ans.push_back(sf[n-1]);
        ans.push_back(sf[n-2]);
 
    }
    else if(n == 4)
    {
        ans.push_back(sf[0]);
        ans.push_back(sf[1]);
        ans.push_back(sf[2]);
        ans.push_back(sf[n-1]);
 
    }
    else if(n == 3)
    {
        ans.push_back(sf[0]);
        ans.push_back(sf[1]);
        ans.push_back(sf[2]);
 
 
    }
  //  cout<<ans[0]<<endl;
 
  */
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
29.01.2019, 19:06
AshGir, дружище, это раздел Java...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.01.2019, 19:06

Выбрать 3 числа произведение которых максимально
Привет всем. Я вот решаю такую задачу И у меня пишет неправильный ответ на 10 тесте. Не подскажите ли почему? #include...

Дано пять различных целых чисел. Найти среди них два числа, модуль разности которых имеет
Дано пять различных целых чисел. Найти среди них два числа, модуль разности которых имеет: 1. наибольшее значение; 2. наименьшее...

Поиска среди элементов последовательности трех таких чисел, произведение которых максимально (без использования массива)
Дана последовательность из N натуральных чисел, оканчивающаяся 0. Составить программу поиска среди них трех таких чисел, произведение...

Дано три числа. Найти произведение только отрицательных из них
3. Дано три числа. Найти произведение только отрицательных из них. на c#

Дано три числа. Найти произведение только отрицательных из них
Дано три числа. Найти произведение только отрицательных из них.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru