![]() |
|
Модераторы: Poseidon |
![]()
|
|
| tux32 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 8.11.2007 Репутация: нет Всего: нет |
Помогите мне пожалуйста составить процедуру генерации всех циклических перестановок чисел от 1 до n в виде k циклов на Си
|
|||
|
||||
| GIK |
|
|||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: 4 Всего: 14 |
По подробнее, не пойму, можно пример привести -------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
|||
|
||||
| tux32 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 8.11.2007 Репутация: нет Всего: нет |
GIK,
Алгоритм: в ходе генерации всех n! перестановок проверяем каждую перестановку на кол-во циклов, где каждый шаг осуществляется путём взятия значения элемента с текущей позиции до тех пор пока не придём в начальную позицию. Пример: перестановка {5,2,1,4,3} 1. Извлекаем значение на первой позиции равное 5, идём в пятную позицию, там видим число 3, идём в третью позицию, видим число 1, переходим в первую позицию, пришли туда откуда начинали, попутно отметив первую, третью и пятую позиции. Начинать поиск циклов с этих позиций уже не будем. 2. Извлекаем значение 2 на второй позиции, переходим во вторую позицию, получился цикл в себя. 3. Извлекаем значение 4 на четвёртой позиции, получаем цикл в себя. В итоге, все вершины были пройдены за 3 цикла. Вот. Значение n, чисел 1...n задаётся пользователем как и кол-во циклов k. Есть у кого-нибудь идеи? |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |