1 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 33
|
|
1 | |
Задача на нахождение лучшей перестановки13.09.2021, 15:53. Показов 3439. Ответов 11
Метки нет (Все метки)
Добрый день! помогите, пожалуйста, понять как в python можно для заданого числа получить все возможные варианты перестановок, при условии, что есть ограничение на количество перестановок. К примеру, есть число 4256 и к-во перестановок, что нужно сделать - 2. То есть желаемым результатом будет список вида: 2465, 5642, 6524 и тд...
Как это лучше всего сделать?
0
|
13.09.2021, 15:53 | |
Ответы с готовыми решениями:
11
Нахождение обратной перестановки Нахождение мин числа путём перестановки цифр Нахождение максимального числа после перестановки его цифр Задача на перестановки |
1 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 33
|
|
13.09.2021, 17:10 [ТС] | 3 |
Спасибо, а как добавить условие на количество перестановок (то есть чтобы получить только те варианты, где числа переставлялись попарно N раз)? В этом коде ведь выводятся абсолютно все перестановки...
0
|
Модератор
|
|
13.09.2021, 17:15 | 4 |
- тебе не кажется, что одно немного противоречит другому?
eaa, Вы понимаете, что ей нужно? Добавлено через 1 минуту из числа 4356 сделать -2?
0
|
eaa
|
13.09.2021, 17:21
#5
|
Не по теме: Catstail, неа)) не понимаю...
0
|
1 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 33
|
|
13.09.2021, 17:44 [ТС] | 6 |
неее, вы меня совсем не поняли) количество перестановок - это то, сколько раз мы меняем местами пары символов.
Возьмем более наглядный пример: есть число 123 и после одной перестановки мы получим такие варианты: 213 (поменялась местами пара 1 и 2), 132 (аналогично, пара цифр "2 и 3" поменялись), 321. Применяя только одну перестановку - это все доступные варианты. А, например, чтобы добиться числа 312, к первоначальному "123" нужно применить уже 2 перестановки - т.е. 123 -> 321 -> 312 Надеюсь теперь понятна суть. И вот по такому принципу я хотела для 4256 сделать (при условии двух перестановок). То есть, чтобы в списке комбинаций были только те варианты, где сделано именно 2 перестановки (пример - 6524), а вариантов вида "4265" не было. (в условии самой задачи просят чтобы количество перестановок было строго равно N-ному числу)
0
|
8592 / 4418 / 1855
Регистрация: 27.03.2020
Сообщений: 7,251
|
|
13.09.2021, 18:08 | 7 |
Аня хукер, символы строки перемещаются попарно строго один раз?
4256 -> 2456 (первая перестановка) -> 6452 (вторая) - такое допускается?
0
|
1 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 33
|
|
13.09.2021, 18:26 [ТС] | 8 |
допускается, но конечный смысл всего этого заключается в том, чтобы получить наибольшее возможное число, проведя строго заданное количество перестановок. Просто я предположила что можно составить список вариаций, а из них уже выбрать максимальное число...
Для того же 123, имея 2 перестановки, максимальным результатом есть 312. А для 4256 - 6524. Если для 4256 задать 3 перестановки, то и максимальное число будет 6542.
0
|
1 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 33
|
|
13.09.2021, 19:12 [ТС] | 10 |
А какой метод сортировки здесь подойдет, подскажите пожалуйста? Понимаю, что мой начальный план это скорее кощунство, но казалось неплохой идеей). На всякий случай прикреплю задание, может все совсем иначе, чем я думала
0
|
8592 / 4418 / 1855
Регистрация: 27.03.2020
Сообщений: 7,251
|
||||||
13.09.2021, 20:47 | 11 | |||||
Сообщение было отмечено Аня хукер как решение
Решение
Аня хукер, попробуй:
2
|
1 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 33
|
|
13.09.2021, 21:03 [ТС] | 12 |
Gdez, спасибо вам большое!)
0
|
13.09.2021, 21:03 | |
13.09.2021, 21:03 | |
Помогаю со студенческими работами здесь
12
Задача на перестановки. Задача. Перестановки Перестановки, простая задача Задача на восстановление перестановки Сложная задача на перестановки Задача коммивояжера, TSP, задача на нахождение кратчайших путей Задача на перестановки элементов массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |