fork download
  1. def len = 10000000
  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. def count =1;
  19. arr.eachWithIndex{v,i->if(v){ print i*2+1 + ", "; count++;} }
  20. println count;
Time limit exceeded #stdin #stdout 5s 218688KB
stdin
Standard input is empty
stdout
Standard output is empty