package main import ( "fmt" "math" ) func main() { var g int fmt.Scanf("%d", &g) maxN := 0 nArr := make([]int, g) for i:=0; i maxN { maxN = nArr[i] } } prime := make([]int, maxN + 1) prime[1] = 0 if maxN >= 2 { prime[2] = 2 } for i := 3; i <= maxN; i += 2 { prime[i] = i } findPrime(&prime, maxN) //fmt.Println(prime) for i:=0; i= 4 { findPrime(arr, sqrt) } for i := 3; i <= sqrt; i += 2 { curr := (*arr)[i] if curr == 0 { continue } for j := 3 * curr; j <= val; j += 2 * curr { //fmt.Println(j) (*arr)[j] = 0 } } }