编写Golang程序以查找给定范围内的质数

例子

  • 输入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("数字必须大于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
数字必须大于2。
13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97