also es ging darum ein passwort recovery (premutation von silben und buchstaben) algorythmus zu schreiben lalala.
hab mir gedanken gemacht und hab was geschrieben bloß bekloppt lahm
wen jemand ne idee hat wie mann die ganze geschichte effizienter machen kann bidde melden
Delphi-Quellcode:
implementation
/////////////////////////// Premutation;
var wert :array of Integer;
var List : Tstringlist;
var i,i2,i3,Sum :integer;{$R *.dfm}
var b : Bool;
label ub ;
var bas :integer;
var s : string;
/////////////// ///// List wird mit den buchstabe ober silben geladen
procedure TForm1.Button1Click(Sender: TObject);
begin
gauge1.MaxValue := trunc(Power(list.count,strtofloat(edit1.text)))+1;
setlength(wert,strtoint(edit1.Text));
i := 0;
bas := list.Count; //// strtoint(edit2.Text);
///// zahl mit basis bas auf null setzen
while i <= length(wert)-1 do
begin
wert[i] := 0;
i := i+1;
end;
i2 := 0;
i :=0;
b := true;
s := '';
while b do
begin
wert[0] := wert[0]+1;
while i <= length(wert)-2 do //-2 ---> bei der lezten zahl muss der überschlag nichtmehr beachtet werden
begin
if wert[i] = bas then /// überschlag kommt moon happening;
begin
wert[i] := 0; //// zurüchseztung
Wert[i+1]:= wert[i+1]+1; //// überschlag
end;
I := i+1;
end;
////////////endstation wenn dies erreicht istist mn beim end angekommen
i3 := 0;
sum := 0;
while i3 <= length(wert)-1 do
begin
sum := sum +wert[i3]+1;
i3 := i3+1 ;
end;
if i3*bas = sum then
begin
b := false;
end;
//////////////////////
///////////////visual erstellung des strings
while i2 <= length(wert)-1 do
begin
s := s + list[wert[i2]];
i2 := i2+1;
end;
Gauge1.Progress := Gauge1.Progress +1;
Application.ProcessMessages;
label1.Caption:= s;
listbox1.Items.Add(s) ; ////// ihrgendeiner listbox hinzufügen
i2:=0;
i:=0;
s := '';
end;
end;
thX forestX
Mit allen Mitteln hat es die Monachie versucht die ersten republikanischen Erhebung zu verläumden.