Go 语言求100以内的素数

思路:找出一个非素数就把它挖掉,最后剩下就是素数。

代码如下:

package main
import (
    "fmt"
    "math"
)
func main() {
    var i, j, n int
    var a [101]int
    for i = 1; i <= 100; i++ {
        a[i] = i
    }
    a[1] = 0
    for i = 2; i < int(math.Sqrt(100)); i++ {
        for j = i + 1; j <= 100; j++ {
            if (a[i] != 0) && (a[j] != 0) {
                if a[j]%a[i] == 0 {
                    a[j] = 0
                }
            }
        }
    }
    fmt.Println()
    for i, n = 1, 0; i <= 100; i++ {
        if a[i] != 0 {
            fmt.Print(a[i], "\t")
            n++
        }
        if n == 10 {
            fmt.Println()
            n = 0
        }
    }
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。