golang学习笔记——查找质数

查找质数

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

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

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

go 复制代码
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 的情况。

代码

go 复制代码
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)
        }
    }
}

输出

go 复制代码
Prime numbers less than 20:
2 3 5 7 11 13 17 19 
相关推荐
做cv的小昊3 分钟前
计算机图形学:【Games101】学习笔记05——着色(插值、高级纹理映射)与几何(基本表示方法)
笔记·opencv·学习·计算机视觉·图形渲染·几何学
车载测试工程师7 分钟前
CAPL学习-CAN相关函数-统计API函数
网络·网络协议·学习·capl·canoe
好奇龙猫1 小时前
【AI学习-comfyUI学习-第二十四节-open(contorlnet多重处理)+图生图openpose-各个部分学习】
人工智能·学习
阿狸远翔1 小时前
Protobuf 和 protoc-gen-go 详解
开发语言·后端·golang
wanzhong23332 小时前
CUDA学习5-矩阵乘法(共享内存版)
深度学习·学习·算法·cuda·高性能计算
PNP Robotics4 小时前
PNP机器人受邀参加英业达具身智能活动
大数据·人工智能·python·学习·机器人
iconball4 小时前
个人用云计算学习笔记 --24 虚拟化、KVM 基础使用与热迁移实验、VMware ESXi笔记
运维·笔记·学习·云计算
a努力。4 小时前
字节Java面试被问:系统限流的实现方式
java·开发语言·后端·面试·职场和发展·golang
是小菜呀!4 小时前
基于深度学习的图像检索系统项目实践
笔记
小高Baby@6 小时前
使用Go语言中的Channel实现并发编程
开发语言·后端·golang