def len = 100 boolean [] arr = new boolean[len] len.times{arr[it]=true;} arr[0] = false;//Fill 1, arr[1] =3 //arr.eachWithIndex{v,k ->println v; println k*2+1 } for(def i = 1; i < times; i++){ def j = i; def dist = i+i+1; j += dist; for(; j < len; j=dist+j){ arr[ j ] = false; } //arr.eachWithIndex{v,k ->println v; println k*2+1 } } arr.eachWithIndex{v,i->if(v){ println i*2+1 + ", "} }
Standard input is empty
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,