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

相关阅读 >>

go 时间格式化 字符串格式化为时间格式

非docker部署fabric2.2.0网络

go设计模式之工厂模式浅谈

golang 和 js 怎么交互?

golang 为什么高并发

手撸golang 行为型设计模式 命令模式

关于golang当中对select的理解

25 goroutine channel实现并发和并行(二)

一周 go world 新鲜事

分享golang和vue3开发的一个im应用

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




打赏

取消

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

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

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

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

评论

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