主页 > 互联网  > 

golang学习笔记——查找质数

golang学习笔记——查找质数
查找质数

编写一个程序来查找小于 20 的所有质数。 质数是大于 1 的任意数字,只能被它自己和 1 整除。 “整除”表示经过除法运算后没有余数。 与大多数编程语言一样,Go 还提供了一种方法来检查除法运算是否产生余数。 我们可以使用模数 %(百分号)运算符。

在本练习中,你将更新一个名为 findprimes 的函数,以检查数值是否为质数。 该函数有一个整数参数,并返回一个布尔值。 函数通过检查是否有余数来测试输入数字是否为质数。 如果数字为质数,则该函数返回 true。

使用以下代码片段作为起点,并使用正确的语法替换 ?? 的所有实例:

package main import "fmt" func findprimes(number int) bool { for i := 2; i ?? number; i ?? { if number ?? i == ?? { return false } } if number ?? { return true } else { return false } } func main() { fmt.Println("Prime numbers less than 20:") for number := ??; number ?? 20; number++ { if ?? { fmt.Printf("%v ", number) } } }

此程序检查 1 到 20 的数字,如果数字为质数,则打印它。 按说明修改示例。

在 main 函数中,遍历要检查的所有数字。 在检查完最后一个数字后退出循环。调用 findprimes 函数以检查数字。 如果函数返回 true,则打印质数。在 findprimes 循环中,从 2 开始并重复,直到计数器的值大于 number 值。检查 number 是否可被当前计数器值整除。 如果是,则退出循环。如果 number 为质数,则返回 true;否则返回 false。提示:请务必正确处理输入数字为 1 的情况。 代码 package main import "fmt" func findprimes(number int) bool { temp := number - 1 for i := 2; i <= temp; i++ { if number % i == 0 { return false } } if number > 1 { return true } else { return false } } func main() { fmt.Println("Prime numbers less than 20:") for number := 1 ; number <= 20; number++ { if findprimes(number) { fmt.Printf("%v ", number) } } }

输出

Prime numbers less than 20: 2 3 5 7 11 13 17 19
标签:

golang学习笔记——查找质数由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“golang学习笔记——查找质数