Golang 使用库函数显示两个区间内的素数

Golang 使用库函数显示两个区间内的素数

在本文中,我们将讨论如何使用Go语言中的函数来显示两个区间内的素数。

语法

func Sieve(n int) []int

func IsPrime(n int) bool

If else conditionals in GO language:
If condition {
   // code to be executed
} else {
   // code to be executed
}

For loop as a while loop in GO language:
for condition {
   // code to be executed
   // increment or decrement the count variable.
}

Sieve() 函数是在primes包中定义的函数,接受一个整数作为参数,并返回一个包含该整数值以内的所有质数的整数数组。

IsPrime() 函数是在primes包中定义的函数,接受一个64位无符号整数作为参数,并根据该数是否为质数返回一个布尔表达式。

有许多方法可以显示两个区间之间的质数。我们将在接下来的示例中讨论这些方法。

示例1:使用函数在两个区间内显示质数的Golang程序

步骤

  • 步骤1 - 导入fmt和primes包。

  • 步骤2 - 初始化并定义primeNumber()函数。

  • 步骤3 - 开始main()函数。

  • 步骤4 - 初始化数据类型为int的变量并分配值。

  • 步骤5 - 调用primeNumber()函数,并将分配的数字作为命令行参数传递给它。

  • 步骤6 - 在屏幕上打印结果。

示例

// golang program to display prime numbers using library function.
package main
import (
   "fmt"
   "github.com/fxtlabs/primes"
)

// fmt package allows us to print anything on the screen.
// primes package allows us to use methods that help us to use methods related to primes.
// initializing and defining the primeNumber() function
func primeNumber(number int) []int {
   // getting the prime numbers in the said range
   prime := primes.Sieve(number)

   // returning the result
   return prime
}

func main() {
   // initializing the variables to get the intervals.
   var number int

   // printing prime numbers between 2 and 50
   number = 50

   // calling the primeNumber() function
   result := primeNumber(number)

   // printing the results on the screen
   fmt.Printf("prime numbers between 2 and %d are: ", number)
   fmt.Println(result)
}
main.go:5:4: cannot find package "github.com/fxtlabs/primes" in any of:
    /usr/lib/golang/src/github.com/fxtlabs/primes (from GOROOT)
    /home/cg/root/99493/go/src/github.com/fxtlabs/primes (fromGOPATH)

输出

prime numbers between 2 and 50 are: [2 3 5 7 11 13 17 19 23 29 31 37 41 43 47]

代码说明

  • 首先,我们导入 fmt 包,该包允许我们打印任何内容,以及允许我们使用其他预定义的素数方法的primes包。

  • 然后创建和定义primeNumber()函数。该函数包含打印素数的逻辑。

  • 开始main()函数。

  • 初始化并定义一个变量number,它将是打印素数的上限。

  • 然后调用primeNumber()函数,并将这个值作为命令行参数传递给它。

  • 调用sieve()方法,该方法在primes包中定义,并将所选的数字作为参数传递给它。

  • 将此函数返回的整数数组存储在一个单独的变量中,并返回它。

  • primeNumbers()函数中返回这个数组。

  • 使用fmt.Println()函数将结果存储并打印在屏幕上。

示例2:使用函数显示两个自定义间隔之间的素数。

让我们使用另一种方法来使用函数打印两个间隔内的素数。

步骤

  • 步骤1 - 导入fmt包。

  • 步骤2 - 初始化并定义primeNumber()函数。

  • 步骤3 - 开始main()函数。

  • 步骤4 - 初始化int类型的变量并为它们赋值。这些值将形成计算素数的间隔。

  • 步骤5 - 调用primeNumber()函数。

  • 步骤6 - 在屏幕上打印结果。

示例

// golang program to display prime numbers in two custom intervals using library function.
package main
import (
   "fmt"
   "github.com/afshin/prime"
)
// fmt package allows us to print anything on the screen.
// prime package allows us to use inbuilt prime functions
// initializing and defining the primeNumber() function
func primeNumber(lower_limit, upper_limit uint64) {
   fmt.Printf("prime numbers between %d and %d are:\n", lower_limit, upper_limit)
   // printing the result
   for i := lower_limit; i <= upper_limit; i++ {
      // getting bool value from isprime() function and using it as condition of if loop.
      if prime.IsPrime(i) {
         fmt.Println(i)
      }
   }
}

func main() {
   // initializing the variables to get the intervals from the user
   var lower_limit, upper_limit uint64

   // let us print prime numbers between 5 and 60.
   // assigning the value of lower_limit and upper_limit variables.
   lower_limit = 5
   upper_limit = 60

   // calling the primeNumber() function
   primeNumber(lower_limit, upper_limit)
}

输出

prime numbers between 5 and 60 are: 
5 
7 
11 
13 
17 
19
23 
29 
31 
37 
41 
43 
47 
53 
59

代码描述

  • 首先,我们导入 fmt 包,该包允许我们打印任何内容,以及导入 primes 包,该包允许我们使用其他预定义的质数方法。

  • 然后创建和定义 primeNumber() 函数。该函数包含打印质数的逻辑。

  • 启动 main() 函数。

  • 初始化并为变量分配数字,这些数字将是打印质数的上限和下限。

  • 然后调用 primeNumber() 函数,并将这些区间作为参数传递给它。

  • 调用 primes 包中定义的 isprime() 方法。该函数接受一个64位无符号整数作为参数,并根据该数字是否是质数返回布尔表达式。

  • 对区间的上限和下限之间的每个值检查此条件。

  • 使用 fmt.Printf() 函数在屏幕上打印满足上述条件的值。

结论

我们成功编译并执行了 Go 语言程序,使用函数展示了两个区间内的质数,并提供了示例。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程