首页 > 后端开发 > Golang > 正文

golang判断是否是素数的方法

发布: 2020-03-27 11:41:04
原创
5353 人浏览过

golang判断是否是素数的方法

判断素数的方法:用一个数分别去除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教程栏目。

以上是golang判断是否是素数的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板