Golang程序 搜索一个数组中的元素
定义: 一个大于2并且只能被自己和1整除的数字。
例如: 质数是2,3,5,7,11,13,113,119,…,等等。
解决这个问题的方法
- 第1步:找出给定数字的平方根,sq_root = √num
- 第2步:如果给定的数字能被属于[2, sq_root]的数字整除,则打印 “非素数”
- 第3步:如果不能被任何数字整除,则打印 “素数”。
程序
package main
import (
"fmt"
"math"
)
func checkPrimeNumber(num int) {
if num < 2 {
fmt.Println("Number must be greater than 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)
}
输出
Number must be greater than 2.
Prime Number
Prime Number
Non Prime Number