package sieve func Sieve(n int) []int { p := make([]int, n-1) // initialize for i := range p { p[i] = i + 2 } // sieve var ret []int for _, v := range p { if v != 0 { for i := 2*v - 2; i < len(p); i += v { p[i] = 0 } ret = append(ret, v) } } return ret }