golang判断是否是素数的方法
16lz
2021-01-22
判断素数的方法:用一个数分别去除2到sqrt(这个数)-1,如果能被整除,则表明此数不是素数,反之是素数。
判断是否素数:
func IsPrime(n int) bool {if n == 1 {return false}//从2遍历到n-1,看看是否有因子for i := 2; i < n; i++ {if n%i == 0 {//发现一个因子return false}}return true}
判断是否素数优化算法:
func IsPrimeII(n int) bool {//偶数一定不是素数if n>2 && n % 2 == 0{return true}//从2遍历到n的方根,看看是否有因子for i := 2; i <= int(math.Ceil(math.Sqrt(float64(n)))); i++ {if n%i == 0 {//发现一个因子return false}}return true}
更多golang知识请关注PHP中文网golang教程栏目。
更多相关文章
- HashMap的负载因子初始值为什么是0.75?这篇文章以最通俗的方式告
- 如何获取关联数组的当前元素数?
- Javascript中的素数函数...多个语句
- java小练习(一个数如果恰好等于它的因子之和,这个数就称为“完数”
- 是否有缩放因子方法用于Android的多分辨率支持