12345678910111213141516171819202122232425262728293031323334 |
- package main
- import (
- "fmt"
- )
- func main() {
- var n int
- fmt.Scan(&n)
- sieve := make([]bool, n+1)
- prime := make([]int, 0)
- for i := 2; i*i <= n; i++ {
- if sieve[i] {
- continue
- }
- for j := 2 * i; j <= n; j += i {
- sieve[j] = true
- }
- }
- for i := 2; i <= n; i++ {
- if !sieve[i] {
- prime = append(prime, i)
- }
- }
- cnt := 0
- m := make(map[int]bool)
- for _, p := range prime {
- if m[n-p] || 2*p == n {
- cnt++
- }
- m[p] = true
- }
- fmt.Println(cnt)
- }
|