go语言求1到100之内的质数

素数指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数(也叫质数)。比1大但不是素数的数称为合数。1和0既非素数也非合数。

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
        // math.Sqrt 开平方
    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.Print()
            n = 0
        }
    }
    fmt.Printf("\n")
}

猜你喜欢

转载自www.cnblogs.com/Csir/p/9321200.html