package main import "fmt" func sieve(n int) []int { composite := make([]bool, n+1) var primes []int for i := 2; i <= n; i++ { if composite[i] { continue } primes = append(primes, i) for j := i * i; j <= n; j += i { composite[j] = true } } return primes } func main() { fmt.Println(sieve(50)) }