IT评测·应用市场-qidao123.com技术社区

标题: Go素数筛选分析 [打印本页]

作者: 科技颠覆者    时间: 2022-10-18 22:32
标题: Go素数筛选分析
Go素数筛选分析

1. 素数筛选介绍

学习Go语言的过程中,遇到素数筛选的问题。这是一个经典的并发编程问题,是某大佬的代码,短短几行代码就实现了素数筛选。但是自己看完原理和代码后一脸懵逼(仅此几行能实现素数筛选),然后在网上查询相关资料,依旧似懂非懂。经过1天的分析调试,目前基本上掌握了的原理。在这里介绍一下学习理解的过程。
素数筛选基本原理如下图:

就原理来说还是比较简单的,首先生成从 2 开始的递增自然数,然后依次对生成的第 1, 2, 3, ...个素数 整除,经过全部整除仍有余数的自然数,将会是素数。
大佬的代码如下:
[code]// 返回生成自然数序列的管道: 2, 3, 4, ...// GenerateNatural 函数内部启动一个 Goroutine 生产序列,返回对应的管道func GenerateNatural() chan int {        ch := make(chan int)        go func() {                for i := 2; ; i++ {                        ch




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4