SÀNG NGUYÊN TỐ ERATOSTHENES




Trích: Sáng to trong thut toán và lp trình (Quyn 2)
T thi c xưa, Eratosthenes đã dy các hc trò ca mình như sau:
Mun lit kê toàn b s nguyên t t 1..N, hãy làm như sau:
Trước tiên, viết dãy s t 1..N
Xóa s 1, vì đó là s đc bit, không phi s nguyên t cũng không phi hp s
Duyt t 2 ti Căn(N). Nếu gp s nào chưa b xóa đi thì đólà s nguyên t và ln lượt xóa các bi s ca s này k t bình phương ca nó tr đi.
Khi kết thúc, nhưng s chưa b xóa chính là s nguyên t

thủ tục Sàng nguyên tố:

  1. Fillchar(P, sizeof(P), 0);
  2. For i:=2 to round(SQRT(N)) do
  3. If P[i]=0 then
  4. For j:=i to (n div i) do P[i*j]:=1;


 
CẢM ƠN CÁC BẠN ĐÃ XEM !!! ×