Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
karpinets2710
0 / 0 / 1
Регистрация: 23.04.2014
Сообщений: 55
#1

Разбить по парам числа

19.10.2014, 22:30. Просмотров 682. Ответов 4
Метки нет (Все метки)

Имеется 2*N чисел. Известно что их можно разбить на пары таким образом, что произведения чисел в парах равны. Сделать разбиение, если числа целые.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2014, 22:30
Ответы с готовыми решениями:

В диапозоне введенном пользователем разбить все числа (т. е. каждое по порядку) на цифры
В диапозоне введенном пользователем разбить все числа (т. е. каждое по порядку)...

Создать список А содержащий вещественные числа. Разбить список А на 2 списка
создать список А содержащий вещественные числа. разбить список А на 2 списка...

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

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

Случайное распределение по парам в Excel
Друзья, помогите. В Excel есть список учеников класса. Необходимо...

4
Байт
Эксперт C
17936 / 11927 / 2478
Регистрация: 24.12.2010
Сообщений: 24,007
19.10.2014, 23:29 #2
Я бы поставил задачу несколько иначе. Есть 2*N целых чисел. Найти такое разбиение их на пары, что произведения чисел в парах равны. При неудаче сказать "не могу". Эта формулировка почти эквивалентна исходной.
Метод брут-форса - сгенерировать все возможные разбиения и проверить, хоть и сработает, но не симпатичен.
Тут нужно применить что-то вроде "ветвей и границ". Но в любом случае, главная часть задачи - генерация разбиений на пары. Штука, видимо, достаточно стандартная, но вот сейчас в голову ничего путного не приходит
0
_Ivana
3233 / 1861 / 235
Регистрация: 01.03.2013
Сообщений: 5,091
Записей в блоге: 5
19.10.2014, 23:48 #3
А мне при прочтении условия пришло очень даже путное в голову - если все числа неотрицательны, то сортируем массив, перемножаем крайние - и имеем наше искомое произведение безо всяких ветвей, границ и брутфорсов. Если количество отрицательных чисел не равно N - то же самое, только сортируем модули - искомое произведение положительно. Если же количество отрицательных равно N. то тут могут быть варианты, и мне стало лениво добивать задачку до конца, переключился на другое
1
Байт
Эксперт C
17936 / 11927 / 2478
Регистрация: 24.12.2010
Сообщений: 24,007
19.10.2014, 23:55 #4
_Ivana, вы совершенно правы. Я чего-то перемудрил. Или молодость вспомнил. Или вот эта задача
Случайное блуждание
сбила меня с толку.
1
_Ivana
19.10.2014, 23:59     Разбить по парам числа
  #5

Не по теме:

Байт, в научный раздел этого форума я как-то не заглядывал еще, надо будет посмотреть. Я вообще только в паре разделов сижу, а видимо зря :)

0
19.10.2014, 23:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2014, 23:59
Привет! Вот еще темы с ответами:

Случайное распределение по парам в Excel
Друзья, помогите. В Excel есть список учеников класса. Необходимо...

Случайное распределение переменных по парам
Здравствуйте, как реализовать подобное. Даны 6 переменных, (например: p1,...

Операции ко всем парам элементов
Есть лист lst= как в питоне применять какие то действия к парам...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru