編寫一個 Go 語言程式,找出特定範圍內的素數


示例

  • 輸入 num1=3 和 num2=8 => 素數為: 3、5、7
  • 輸入 num1=8 和 num2=23 => 素數為: 11、13、17、19、23

解決此問題的思路

  • 步驟 1:定義一個接受兩個數字 num1num2 的函式,型別為 int
  • 步驟 2:在 num1num2 之間迴圈。
  • 步驟 3:如果該數字為素數,則列印該數字,否則中斷。

程式

即時演示

package main
import (
   "fmt"
   "math"
)

func printPrimeNumbers(num1, num2 int){
   if num1<2 || num2<2{
      fmt.Println("Numbers must be greater than 2.")
      return
   }
   for num1 <= num2 {
      isPrime := true
      for i:=2; i<=int(math.Sqrt(float64(num1))); i++{
         if num1 % i == 0{
            isPrime = false
            break
         }
      }
      if isPrime {
         fmt.Printf("%d ", num1)
      }
      num1++
   }
   fmt.Println()
}

func main(){
   printPrimeNumbers(5, 19)
   printPrimeNumbers(0, 2)
   printPrimeNumbers(13, 100)
}

輸出

5 7 11 13 17 19
Numbers must be greater than 2.
13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

更新於: 2021 年 2 月 4 日

3K+ 次瀏覽

開啟您的 職業生涯

透過完成此課程,獲得認證

立即開始
廣告