golang判断是否是素数的方法


本文摘自php中文网,作者尚,侵删。

判断素数的方法:用一个数分别去除2到sqrt(这个数)-1,如果能被整除,则表明此数不是素数,反之是素数。

判断是否素数:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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

}

判断是否素数优化算法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

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判断是否是素数的方法的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

golang基础-单元测试与mock

golang项目如何部署到linux服务器

go cassandra 示例2

golang如何封装路由

手撸golang etcd raft协议之10

go - httpclient 常用操作

这一次,彻底搞懂 go cond

手撸golang go与微服务 saga模式之7

golang 如何模块化

golang map为啥不并发

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...