fork download
  1. def len = 100
  2. boolean [] arr = new boolean[len]
  3. len.times{arr[it]=true;}
  4. arr[0] = false;//Fill 1, arr[1] =3
  5.  
  6. //arr.eachWithIndex{v,k ->println v; println k*2+1 }
  7.  
  8. def times = Math.sqrt(len) + 2
  9. for(def i = 1; i < times; i++){
  10. def j = i;
  11. def dist = i+i+1;
  12. j += dist;
  13. for(; j < len; j=dist+j){
  14. arr[ j ] = false;
  15. }
  16. //arr.eachWithIndex{v,k ->println v; println k*2+1 }
  17. }
  18. arr.eachWithIndex{v,i->if(v){ println i*2+1 + ", "} }
Success #stdin #stdout 1.46s 219072KB
stdin
Standard input is empty
stdout
3, 
5, 
7, 
11, 
13, 
17, 
19, 
23, 
29, 
31, 
37, 
41, 
43, 
47, 
53, 
59, 
61, 
67, 
71, 
73, 
79, 
83, 
89, 
97, 
101, 
103, 
107, 
109, 
113, 
127, 
131, 
137, 
139, 
149, 
151, 
157, 
163, 
167, 
173, 
179, 
181, 
191, 
193, 
197, 
199,