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.
}
在primes包中定义的 Sieve() 函数接受一个整数值作为参数,并返回一个包含截至该整数值的素数的数组。
在primes包中定义的 IsPrime() 函数接受一个64位无符号整数值作为参数,并根据存在的数字是否是质数返回布尔表达式。
有很多方法可以让我们在两个区间内显示质数。我们将在接下来的例子中讨论这些方法。
例1:使用函数显示两个区间的素数的Golang程序
算法
- 第1步 – 导入软件包fmt和primes。
-
第2步 – 初始化并定义 primeNumber() 函数。
-
第3步- -启动main()函数。
-
第4步– 初始化数据类型为int的变量并为其赋值。
-
第5步 – 调用primNumber()函数,并将分配的数字作为命令行参数传给它。
-
第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包。
-
然后创建并定义 primNumber() 函数。这个函数包含打印素数的逻辑。
-
启动 main() 函数。
-
初始化并定义变量 “数字”,它将是打印素数的上限。
-
然后调用 primNumber() 函数并将此值作为命令行参数传给它。
-
调用primes包中定义的 sieve() 方法,并将所选数字作为参数传给它。
-
将该函数返回的整数数组存储在一个单独的变量中并返回。
-
从 primeNumbers() 函数返回这个数组。
-
存储结果并使用 fmt.Println() 函数将其打印在屏幕上。
例2:使用函数显示两个自定义区间的素数的Golang程序。
让我们用另一种方法,用函数来打印两个区间的素数。
算法
- 第1步 – 导入软件包 fmt。
-
第2步 – 初始化并定义 primNumber() 函数。
-
第3步 – 启动 main() 函数。
-
第4步 – 初始化数据类型为int的变量,并给它们赋值。这些值将构成计算素数的区间。
-
第5步 – 调用 primNumber() 函数。
-
第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包。
-
然后创建并定义 primNumber() 函数。这个函数包含打印素数的逻辑。
-
启动 main() 函数。
-
初始化并向变量分配数字,这些数字将是要打印的素数的上限和下限。
-
然后调用 primNumber() 函数,将这些区间作为参数传给它。
-
调用primes包中定义的 isprime() 方法。这个函数接受一个64位无符号整数值作为参数,并根据存在的数字是否是质数返回布尔表达式。
-
对区间的上限和下限之间的每一个值检查这个条件。
-
使用fmt.Printf()函数在屏幕上打印满足上述if条件的值。
总结
我们已经成功地编译并执行了Go语言程序,使用函数显示两个区间之间的质数,并附有实例。
极客教程