题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
package main
import (
"fmt"
)
func isPrime(n int) bool {
for i:=2; i<=n/2; i++ {
if n % i == 0 {
return false
}
}
return true
}
func findMinDiffPrimePair(n int) []int {
var nums []int
for i:=2; i<=n-2; i++ {
nums = append(nums, i)
}
minDiff := n
var pair []int
for i:=0; i<len(nums); i++ {
if !isPrime(nums[i]) {
continue
}
for j:=i; j<len(nums); j++ {
if !isPrime(nums[j]) {
continue
}
if nums[i] + nums[j] == n {
if nums[j] - nums[i] < minDiff {
minDiff = nums[j] - nums[i]
pair = []int{nums[i], nums[j]}
}
}
}
}
return pair
}
func main() {
var n int
fmt.Scan(&n)
pair := findMinDiffPrimePair(n)
fmt.Printf("%d\n%d", pair[0], pair[1])
}
// 本题输入一个整型数字,所以采用:fmt.Scan(&n)


海康威视公司福利 1382人发布