Задача о перестановках | |
---|---|
medstrax Забанен Автор Сообщений: 5964 Дата регистрации: 23.03.2007 |
Пусть есть некий массив элементов.Задача - составить все возможные сочетания этих элементов.
Возможно я не правильно выражаюсь, но суть в том - пусть есть массив 1 2 3, на выходе должно- 123 132 132 231 213 312 321 Размерность массива значения не имеет, пксть она будет ограничена только объемом оперативы Ваш код? Исправлено 1 раз(а). Последнее : medstrax, 12.12.09 21:13 |
Re: Задача о перестановках | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
------------------ Лень - это неосознанная мудрость. |
Re: Задача о перестановках | |
---|---|
Mitchman Сообщений: 9978 Откуда: Николаев Дата регистрации: 24.05.2002 |
тогда уж из условия задачи
ну и аппенд три раза в начале провторить ------------------ - «свидомые украинцы озабочены не столько созданием украинской культуры, сколько уничтожением русской» - Олесь Бузина |
Re: Задача о перестановках | |
---|---|
medstrax Забанен Автор Сообщений: 5964 Дата регистрации: 23.03.2007 |
ммм, я имел в виду случай, когда размерность произвольная
|
Re: Задача о перестановках | |
---|---|
matod Сообщений: 3062 Откуда: Иркутск Дата регистрации: 31.10.2001 |
Вот что у себя нашел. Вроде работает
|
Re: Задача о перестановках | |
---|---|
leonid Сообщений: 3202 Откуда: Рига Дата регистрации: 03.02.2006 |
|
Re: Задача о перестановках | |
---|---|
sphinx Сообщений: 31166 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Леонид, проверьте на 9 элементах
------------------ "Veni, vidi, vici!"(с) |
Re: Задача о перестановках | |
---|---|
leonid Сообщений: 3202 Откуда: Рига Дата регистрации: 03.02.2006 |
Я там поставил С(7) потому, что у меня уже с 8-ью оперативки не хватало. С бесконечной оперативкой будет на любом количестве элементов работать. |
Re: Задача о перестановках | |
---|---|
sphinx Сообщений: 31166 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Да, извините, размерность поля не учел. Потестирую на разном количестве элементов, но думаю, все должно работать.
------------------ "Veni, vidi, vici!"(с) |
Re: Задача о перестановках | |
---|---|
medstrax Забанен Автор Сообщений: 5964 Дата регистрации: 23.03.2007 |
Леонид, ок, зачет, работает.
В силу своего незнания фокса и скуля к сожалению не могу оценить. Имхо, алго, работающий без применения селектов и курсоров, был бы ценней |
Re: Задача о перестановках | |
---|---|
sphinx Сообщений: 31166 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Разделителя для больших чисел нет - но, думаю, это и не есть проблема. ;)
------------------ "Veni, vidi, vici!"(с) |
Re: Задача о перестановках | |
---|---|
Mitchman Сообщений: 9978 Откуда: Николаев Дата регистрации: 24.05.2002 |
еще с Сей люблю рекурсию - жаль в фоксе такое лучше не применять - бо ограничения есть - акромя памяти да в случае если символы в первоночальном наборе могут повториться - нать поменять строчку lcChars=Chrtran(tcChars,lcFirst,"") на lcChars=Left(tcChars,liI-1)+Substr(tcChars,liI+1) ------------------ - «свидомые украинцы озабочены не столько созданием украинской культуры, сколько уничтожением русской» - Олесь Бузина Исправлено 2 раз(а). Последнее : Mitchman, 13.12.09 15:00 |
Re: Задача о перестановках | |
---|---|
medstrax Забанен Автор Сообщений: 5964 Дата регистрации: 23.03.2007 |
Налицо утечка памяти, простые расчеты показывают - 7 байт(на хранение престановки, юникод не учитываем) х 7! (число перестановок)... Где то глюк... Исправлено 1 раз(а). Последнее : medstrax, 13.12.09 14:54 |
Re: Задача о перестановках | |
---|---|
sphinx Сообщений: 31166 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Возможно, на Си память расходуется рациональнее...
------------------ "Veni, vidi, vici!"(с) |
Re: Задача о перестановках | |
---|---|
medstrax Забанен Автор Сообщений: 5964 Дата регистрации: 23.03.2007 |
В алго вроде бы глюка не видно,
что творит компилятор - хз |
Re: Задача о перестановках | |
---|---|
sphinx Сообщений: 31166 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Интерпретатор ;)
------------------ "Veni, vidi, vici!"(с) |
Re: Задача о перестановках | |
---|---|
leonid Сообщений: 3202 Откуда: Рига Дата регистрации: 03.02.2006 |
Можно и с массивами.
|
Re: Задача о перестановках | |
---|---|
Mitchman Сообщений: 9978 Откуда: Николаев Дата регистрации: 24.05.2002 |
пракктически от мово не отличается - чуть выше ------------------ - «свидомые украинцы озабочены не столько созданием украинской культуры, сколько уничтожением русской» - Олесь Бузина |
Re: Задача о перестановках | |
---|---|
medstrax Забанен Автор Сообщений: 5964 Дата регистрации: 23.03.2007 |
Код хорош, пара нюансов - for i = 1 to len(m.str)
не стоит так делать, вычисление счетчика лучше вынести из цикла. И функа fact - вычисление факториала лучше делать в цикле, рекурсия не самый быстрый метод |
Re: Задача о перестановках | |
---|---|
Влад Колосов Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
Полагаю это можно сделать рекурсией, указав глубину рекурсии и диапазоны значений.
------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. |
© 2000-2024 Fox Club  |