Einzelnen Beitrag anzeigen

Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#1

Problem beim Sieb des Eratostenes

  Alt 8. Okt 2003, 18:26
Hi
Ich soll mit einem Dyn. Array das Sieb des Eratostenes schreiben. Die Grundidee dafür ist nicht so schwer: Ich nehme die erste Zahl in meinem Array (das von 2 bis 1000 gefüllt ist) und streiche alle Vielfachen der Zahl raus. Dann nehme ich die nächste Zahl(die ungleich 0 ist) und so weiter. Alle Zahlen denen ich so begegne müssen dann prim sein. Die will ich dann in einem Stringgrid (sg1) ausgeben. Ich komme bei dem Code einfach nicht weiter. Vielleicht kann mir jemand helfen.

Delphi-Quellcode:
lenght:=strtoint(egroesse.Text);
SetLength(Liste,lenght);

for index:=1 to lenght do
begin
Liste[index]:=index;
end;

index:=1;
abstand:=1;
zeile:=1;

while index<lenght do
begin
inc(abstand);
index:=abstand;

        if liste[index] > 0 then
        begin

            while index < lenght do
                 begin
                 index:=index+abstand;
                 liste[index]:=0;
                 end;
        end

        else

            begin
            sg1.RowCount:=sg1.RowCount+1;
            sg1.cells[0,zeile]:=inttostr(zeile);
            sg1.cells[1,zeile]:=inttostr(index);
            inc(zeile);
            end;
TXHbyTOX
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat