![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Bard |
![]() ![]()
Сообщение
#1
|
![]() Учиться, учиться еще раз учиться ![]() ![]() ![]() Группа: Пользователи Сообщений: 158 Пол: Мужской Реальное имя: Яшар Репутация: ![]() ![]() ![]() |
нам учитель вчера задал такую задачку
![]() задается N и сама пермутация длины N. требуеться найти индекс этой пермутации в N! пример: 4 2 3 1 4 ответ: 17 пример: 5 5 4 3 2 1 ответ: 120 и т.д помогите пожалуйста с реализацией алгоритма... ![]() спс за внимание(заранее) ![]() -------------------- Чтобы поразить цель важна не точность, а смелость
Шарль Луи Монтескё |
![]() ![]() |
samec |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 180 Пол: Мужской Реальное имя: Юра Репутация: ![]() ![]() ![]() |
есть алгоритм генерации всех перестановок N-элементного множества в лексикографическом порядке. Посмотреть можно тут: Перестановки
Так вот: 1) заводим переменную, для подсчёта перестановок. 2) генерируем очередную перестановку(при этом увеличиваем индекс нашей переменной) 3) сравниваем её со своей (заданной) пермутацией, и если одно и то же, то решением задачи будет значение нашей переменной вродеб всё. Сообщение отредактировано: samec - 24.04.2007 10:05 |
Bard |
![]()
Сообщение
#3
|
![]() Учиться, учиться еще раз учиться ![]() ![]() ![]() Группа: Пользователи Сообщений: 158 Пол: Мужской Реальное имя: Яшар Репутация: ![]() ![]() ![]() |
спасибо за помощь но этот путь я уже давно хотел предпринять
![]() ![]() ![]() кстати N<100 ![]() -------------------- Чтобы поразить цель важна не точность, а смелость
Шарль Луи Монтескё |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
АлгоЛист -> Операции с перестановками (см. PermutationNum)
|
Bard |
![]()
Сообщение
#5
|
![]() Учиться, учиться еще раз учиться ![]() ![]() ![]() Группа: Пользователи Сообщений: 158 Пол: Мужской Реальное имя: Яшар Репутация: ![]() ![]() ![]() |
а нету ли чего нибудь на паскале???
![]() -------------------- Чтобы поразить цель важна не точность, а смелость
Шарль Луи Монтескё |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Дельфийский код переносится на Паскаль практически один в один...
Добавлено через 2 мин. Я, кстати уже выкладывал код функции PermutationNum, который отрабатывает в Турбо Паскале здесь: Число |
Bard |
![]()
Сообщение
#7
|
![]() Учиться, учиться еще раз учиться ![]() ![]() ![]() Группа: Пользователи Сообщений: 158 Пол: Мужской Реальное имя: Яшар Репутация: ![]() ![]() ![]() |
Цитата Вот так попробуй:
(вводишь сначала n - не больше 8, потом в виде строки само число из n цифр...) Volvo, если тебя не затруднит подскажи что делает эта прога??? ![]() при n=5 и s='12345' ответ=119 ![]() почему это так? ![]() Добавлено через 6 мин. помоему я нашел... надо просто стереть функцию Fact и написать writeln(p); вместо writeln(total-p);... вот и все... огромное спасибо за помощь Volvo -------------------- Чтобы поразить цель важна не точность, а смелость
Шарль Луи Монтескё |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Ну, да... Там же немного другая задача стояла... Тебе достаточно WriteLn(p) ...
|
![]() ![]() |
![]() |
Текстовая версия | 24.06.2025 14:05 |