package main import "fmt" func getPrime(n, k int) ([]int, []int) { p := make([]bool, n+1) // false: 素数の可能性有 true: notPrime r := make([]int, 0) m := make([]int, n+1) ans := 0 for i := 2; i <= n; i++ { if !p[i] { r = append(r, i) for j := i; j <= n; j += i { p[j] = true m[j]++ } } if m[i] >= k { ans++ } } fmt.Println(ans) return r, m } func main() { var N, K int fmt.Scan(&N, &K) getPrime(N, K) // _, m := getPrime(N, K) //ans := 0 //fmt.Println(m) //for i := 2; i < N+1; i++ { // if m[i] >= K { // ans++ // } //} // fmt.Println(ans) }