Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Перестановки...   Найти похожие ветки 

 
Chuvak ©   (2005-11-20 18:28) [0]

Подскажите, как найти все возможные перестановки букв в строке x. Интересует реализация на языке Паскаль. хоть идею подкиньте, а то я чёт совсем запутался... По идее общее кол-во таких строк будет length(x)!...А вот как их все перебирать не врублюсь...


 
Anatoly Podgoretsky ©   (2005-11-20 18:36) [1]

Похоже на лабораторную, только вот не все условия указаны.


 
Chuvak ©   (2005-11-20 18:47) [2]

Anatoly Podgoretsky ©   (20.11.05 18:36) [1]
Вы правы, сэр...
меня иетересует сам алгоритм перестановки...


 
TUser ©   (2005-11-20 19:26) [3]

Не тестировал, может случайно троян получился. Так что код прочитай прежде чем запускать.

procedure PrintAll (S: string; Prefix: string = "");
var i: integer;
begin
 if length(S) <= 1 then begin
   writeln (Prefix + S);
   exit;
   end;

 for i:=1 to length(S) do
   PrintAll (copy(S,1,i-1)+copy(S,i+1,MaxInt),Prefix+S[i]);
end;

PrintAll ("any text");


 
Chuvak ©   (2005-11-20 20:00) [4]

TUser ©   (20.11.05 19:26) [3]
Спасибо, разобрался...
Насчёт трояна не смешно...


 
Uncle Archi ©   (2005-11-20 21:09) [5]

Самый лучший вариант, по-моему таков.
Он не содержит рекурсии и легко понимается.
Хотя долго работает.

Допустим, у нас есть строка длиной 4.
Представим число 0123 в системе счисления(СС) с основанием 4, сопоставив каждому числу знак из строки.
Теперь начинаем увеличивать число по правилам соответствующей СС.
Если нет одинаковых чисел, -> следующая перестановка.
Например:

0123
0130 - не подходит
0131 - не подходит
0132 - следующая
0213
0231
....



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
1-1131807098
Dmitrich
2005-11-12 17:51
2005.12.11
Копирование экрана


5-1115894879
Almaz
2005-05-12 14:47
2005.12.11
Свойство типа TShortCut у наследника TCollectionItem


14-1132330160
x.pro
2005-11-18 19:09
2005.12.11
С днем студента!


3-1129111866
DancerMan
2005-10-12 14:11
2005.12.11
TWebBrowser или ...?


2-1132915316
De
2005-11-25 13:41
2005.12.11
Возможны ли извраты с PopupMenu?