che.guevara je napisao:
Divim se tvom neznanju. Taj algoritam se zove Eratostenovo sito. Drugi predlozeni algoritam (borisdj) je jako spor posto se sqrt(i) izracunava svaki put. Ako bi se ta vrijednost izracunala prije pozivanja unutrasnje petlje, algoritam bi se ubrzao nekoliko puta (predpostavljam). Postoji jos jedna varijanta, a to je da u vektoru pamtis sve proste brojeve koje si do sad pronasao. Time se dobija algoritam koji je po brzini brzi od onog prvog, sporiji od Eratostenovog sita, ali zauzima manje memorije, te moze da se koristi za generisanje vise brojeva nego Eratostenovo sito.
Moguce je iskoristiti sito da bi se dobili prosti brojevi do nekog broja, npr milion, a onda da se predje na varijantu sa pamcenjem pronadjenih prostih brojeva. Ma sve su to djecija posla

Che, che, che. Ovo ti je pascal a ne C++. Ovde sam napisao Size div 2 (ne sqrt(Size)). Mali lapsus. A sto se tice da se svaki put racuna, nije tako.
pokreni ovo:
Kod:
program test;
var
i, DoBroja : integer;
begin
DoBroja := 5;
for i := 1 to DoBroja do DoBroja := DoBroja + 1;
end.
i vidices da ce se petlja vrtiti 5 puta a ne beskonacno.