题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
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)