编写Golang程序以检查给定数字是否为质数

定义: 一个数字是大于2且只能被其自身和1整除。

示例:素 数是2、3、5、7、11、13、113、119等。

解决这个问题的方法

  • 步骤1:找到给定数字的平方根sq_root =√num

  • 步骤2:如果给定数字可被[2,sq_root]所属的数字整除,则打印“非素数”

  • 第3步:如果不能被任何数字整除,则打印“ Prime Number”

程序

package main
import (
   "fmt"
   "math"
)

func checkPrimeNumber(num int) {
   if num < 2 {
      fmt.Println("数字必须大于2。")
      return
   }
   sq_root := int(math.Sqrt(float64(num)))
   for i:=2; i<=sq_root; i++{
      if num % i == 0 {
         fmt.Println("Non Prime Number")
         return
      }
   }
   fmt.Println("Prime Number")
   return
}

func main(){
   checkPrimeNumber(0)
   checkPrimeNumber(2)
   checkPrimeNumber(13)
   checkPrimeNumber(152)
}
输出结果
数字必须大于2。
Prime Number
Prime Number
Non Prime Number