给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000. 如,输入为10,程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))
package main
import "fmt"
func main() {
var n int
fmt.Scan(&n)
notPrime:=make([]bool,n)
for i:=2;i<n;i++{
if notPrime[i]{
continue
}
for j:=2*i;j<n;j=j+i{
notPrime[j]=true
}
}
cnt:=0
for i:=2;i<=n/2;i++{
if !notPrime[i]{
if !notPrime[n-i]{
cnt++
}
}
}
fmt.Print(cnt)
}