Go 求 100 以内的素数和

素数:因子只有 1 和其本身。

package main

import "fmt"

func main() {
    var num int
    for i := 2; i <= 100; i++ {
        for j := 2; j <= i; j++ {
            if i % j == 0 && j < i {
                break
            }
            if i == j {
                num += j
            }
        }
    }
    fmt.Println(num)
}  // 1060

其他方法:

package main

import "fmt"

func main() {
    var sum int
    for i:=2;i<=100;i++ {
        for j:=2;j<=i;j++ {
            if i%j == 0 && i != j {
                break
            }
            if i == j {
                fmt.Println(i,"是素数")
                sum += i
            }
        }
    }
    fmt.Println("100 以内的素数和和为:",sum)
}

package main

import "fmt"

func main() {
    var sum int
    for i := 2; i <= 100; i++ {
        count := 0
        for a := 2; a < i; a++ {
            if i % a == 0 {
                count++
                break
            }
        }
        if count == 0 {
            fmt.Println(i,"是素数")
            sum += i
        }
    }
    fmt.Println("素数和为:",sum)
}

package main

import "fmt"

func main() {
    var sum int
    var i,j int
    for i = 2; i < 100; i++ {
        for j = 2; j <= (i / j); j++ {
            if i % j == 0 {
                break    // 如果发现因子则不是素数
            }
        }
        if j > (i / j) {
            fmt.Printf("%d 是素数\n",i)
            sum += i
        }
    }
    fmt.Println("素数和为:",sum)
}

posted @ 2022-03-21 13:35  公博义  阅读(96)  评论(0编辑  收藏  举报