1. 程式人生 > >go語言求1到100之內的質數

go語言求1到100之內的質數

clas package 合數 math 自然 import 兩個 一個 imp

素數指在一個大於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")
}

go語言求1到100之內的質數