Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function sieve2(n){
- S = [];
- // заполняем решето единицами
- for(k=1; k<=n; k++)
- S[k]=1;
- for(k=1; (2*k+1)*(2*k+1)<=2*n+1; k++){
- // если 2k+1 - простое (т. е. k не вычеркнуто)
- if(S[k]==1){
- // то вычеркнем кратные 2k+1
- for(l=3*k+1; l<=n; l+=2*k+1){
- S[l]=0;
- }
- }
- }
- // теперь S[k]=1 тогда и только тогда, когда 2k+1 - простое
- return S;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement