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

Вниз

Получить все перестановки чисел 0..N   Найти похожие ветки 

 
BobUser   (2006-04-23 21:37) [0]

Сабж


 
vrem   (2006-04-23 21:45) [1]

1. +1
2. проверить - это нужная перестановка?
3. печатать перестановку

в системе исчисления N+1


 
Palladin ©   (2006-04-23 23:06) [2]

procedure TForm1.Button1Click(Sender: TObject);
Var
a:Array of Integer;
i:Integer;
N:Integer;

Procedure _WriteArray;
Var
 i:Integer;
 s:String;
Begin
 s:="";
 For i:=0 to Length(a)-1 Do s:=s+IntToStr(a[i])+",";
 If s<>"" Then SetLength(s,Length(s)-1);
 Memo1.Lines.Add(s);
End;

Procedure _Exchange(i1,i2:Integer);
Begin
 a[i1]:=a[i1]+a[i2];
 a[i2]:=a[i1]-a[i2];
 a[i1]:=a[i1]-a[i2];
End;

Procedure _Combine(l:Integer);
Var
 i:Integer;
Begin
 If l=Length(a)-1 Then _WriteArray Else
  Begin
   _Combine(l+1);
   For i:=l+1 to Length(a)-1 Do
    Begin
     _Exchange(l,i);
     _Combine(l+1);
     _Exchange(l,i);
    End;
  End;
End;

begin
N:=2; // любое число (в разумных пределах ессно)
SetLength(a,N+1);
For i:=0 to Length(a) Do a[i]:=i;
_Combine(0);
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.044 c
15-1145211154
Cincinnut
2006-04-16 22:12
2006.05.14
Ну вот и закончился Чемпионат России по хоккею.


2-1145695411
tickler
2006-04-22 12:43
2006.05.14
Задержка, которая не вешает прогу


2-1145719425
Archy
2006-04-22 19:23
2006.05.14
Пмогите, мне с текстом...


1-1144137303
aleshap
2006-04-04 11:55
2006.05.14
Как определить место в программе?


2-1145893826
alkin
2006-04-24 19:50
2006.05.14
Используя ADO, подключается Access-база