Sikkert, jeg prostituerer mig heller ikke for 300 p. fra et brugernavn, der kun er oprettet for at stille det her spg.! - og efter al sandsynlighed aldrig bliver anvendt igen!!
Jeg er blevet spillet opgaven af min IT lærer, men desværre har det ikke kunnet lykkedes mig at udregne algoritmen, derfor prøver jeg nu Eksperten pga. at jeg har hørt meget godt om stedet her.
Hvis jeg var en såkaldt hacker og ville bruge den til noget bestemt ulovligt formål, så ville jeg nok også være sej nok til at udregne den. Og hvis jeg ikke var, så ville jeg nok have anvendt et af de mange hundreder programmer af denne type der findes rundt omkring.
Det eneste der insteresserer mig i denne algoritme er matematikken bag den.
grunden til at jeg kan lide C er at jeg kan typecaste min char til en int og lægge en til, så ved jeg at jeg får det næste bogstav.. ahh det er lækkert.. det kan man hverken i VB eller delphi :)
jo, det kunne let have være lavet ihvert sprog. problemet er bare at cykle fra \'a\' til \'b\' til \'c\' det er så dejligt nemt i c/c++ som jeg gjorde foroven
en form en knap og et memofelt, og så det følgende kode :
procedure getSillyString(s : String; niveau : Integer); var tmp : array [0..10] of char; chr : Char; i : Integer; begin if niveau=9 then begin Form1.Memo1.Lines.Add(s); exit; end else begin move(s[1],tmp[0],10); chr := \'a\';
for i := 0 to 25 do begin tmp[niveau] := chr; getSillyString(tmp,niveau+1); chr := char(integer(chr) + 1); end; end;
end;
procedure TForm1.Button1Click(Sender: TObject); begin getSillyString(\' \',0); end;
Her er en simpel algoritme. Jeg skriver kun fra a-f, og jeg går kun kombinationerne igennem 3 gange(3 løkker), da udskriften ellers ikke er særlig fed at vente på :
procedure TForm1.Button1Click(Sender: TObject); var a,b,c:char; i:integer; begin for a:= \'a\' to \'f\' do begin for b:= \'a\' to \'f\' do begin for c:= \'a\' to \'f\' do begin memo1.Lines.Add(string(a+b+c)); end;//c end;//b end;//a
end;
Ps. hvis den ikke skal starte med aaaaaaaaa (når du har rettet den til 9 løkker), men i stedet a osv., må du dele den op i 9 bidder, hvor den \'dybeste\' kommer til sidst.
Takker for det hurtige svar, jeg har valgt at give lbs halvdelen af pointene da hans algoritme er mest gennemført, og borrisholt den anden halvdel for at have oversat den som lovet.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.