Go语言生成素数的方法
本文实例讲述了Go语言生成素数的方法。分享给大家供大家参考。具体实现方法如下:
package main
// 生成2, 3, 4, ... 到 channel 'ch'中.
func Generate(ch chan<- int) {
for i := 2; ; i++ {
ch <- i // Send 'i' to channel 'ch'.
}
}
// 从管道复制值 'in' 到 channel 'out',
// 移除可整除的数 'prime'.
func Filter(in <-chan int, out chan<- int, prime int) {
for {
i := <-in // 接收值 'in'.
if i%prime != 0 {
out <- i // 传入 'i' 到 'out'.
}
}
}
func main() {
ch := make(chan int) // Create a newchannel.
go Generate(ch) // Launch Generate goroutine.
for i := 0; i < 10; i++ {
prime := <-ch
print(prime, "\n")
ch1 := make(chan int)
go Filter(ch, ch1, prime)
ch = ch1
}
}
希望本文所述对大家的Go语言程序设计有所帮助。
相关推荐
-
理解Golang中的数组(array)、切片(slice)和map
我比较喜欢先给出代码,然后得出结论 数组 复制代码 代码如下: package main import ( "fmt" ) func main() { arr := [...]int{1, 2, 3} //打印初始的指针 fmt.Printf("the pointer is : %p \n", &arr) printPointer(arr) } func printPointer(any interface{}) {
-
Go语言生成随机数的方法
本文实例讲述了Go语言生成随机数的方法.分享给大家供大家参考.具体实现方法如下: golang生成随机数可以使用math/rand包 复制代码 代码如下: package main import ( "fmt" "math/rand" ) func main() { for i:=0; i<10; i++ { fmt.Println(rand.Intn(100)) } } 发现这种情况
-
Go语言图片处理和生成缩略图的方法
本文实例讲述了Go语言图片处理和生成缩略图的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "os" "image" "image/color" "image/draw" "image/jpeg" ) func main() { f1, err := os
-
go语言返回1-99之间随机数的方法
本文实例讲述了go语言返回1-99之间随机数的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "math/rand" ) func main() { max := big.NewInt(100) i, err := rand.Int(rand.Reader, max) } 希望本文所述对大家的Go语言程序设计有所帮助.
-
Golang记录、计算函数执行耗时、运行时间的一个简单方法
先写一个公共函数, 比如在 common 包下有这么一个方法: // 写超时警告日志 通用方法 func TimeoutWarning(tag, detailed string, start time.Time, timeLimit float64) { dis := time.Now().Sub(start).Seconds() if dis > timeLimit { log.Warning(log.CENTER_COMMON_WARNING, tag, " detailed:&quo
-
Golang编程实现生成n个从a到b不重复随机数的方法
本文实例讲述了Golang编程实现生成n个从a到b不重复随机数的方法.分享给大家供大家参考,具体如下: 代码很简单: 复制代码 代码如下: package test import ( "fmt" "math/rand" "time" ) //生成若干个不重复的随机数 func RandomTestBase() { //测试5次 for i := 0; i < 5; i++ { nums
-
golang模板template自定义函数用法示例
本文实例讲述了golang模板template自定义函数用法.分享给大家供大家参考,具体如下: golang的模板十分强大,其中的unix管道风格函数调用很是喜欢. 模板中有很多内置可以参看pkg文档, 另外还可以实现自定义函数. 例子如下: 复制代码 代码如下: package main import ( "text/template" "time" "os" ) type User struct { Usern
-
深入解析golang编程中函数的用法
函数是一组一起执行任务的语句.每Go程序具有至少一个函数,它一般是main(),以及所有的最琐碎程序可以定义附加函数. 你可以将代码放到独立的功能.如何划分代码之间的不同功能,但逻辑上的划分通常是让每个函数执行特定的任务. 函数声明告诉编译器有关的函数的名称,返回类型和参数.一个函数定义提供了函数的实际主体. Go语言标准库提供了大量的内置函数,在程序可以调用.例如,函数len()需要不同类型的参数和返回值的类型的长度.例如,如果一个字符串传递给它,它会返回字符串的长度以字节为单位,如果一个数组
-
使用Go语言简单模拟Python的生成器
def demo_input_and_output(): input = yield 'what is the input?' yield 'input is: %s' % input gen = demo_input_and_output() print(gen.next()) print(gen.send(42)) 这段代码演示了 python generator 的功能.可以看到 yield 同时做了两个操作,一个是往外发数据 "waht is the input",同时做的操作
-
Go语言生成素数的方法
本文实例讲述了Go语言生成素数的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main // 生成2, 3, 4, ... 到 channel 'ch'中. func Generate(ch chan<- int) { for i := 2; ; i++ { ch <- i // Send 'i' to channel 'ch'. } } // 从管道复制值 'in' 到 channel 'out', // 移除可整除的
-
Python实现求最大公约数及判断素数的方法
本文实例讲述了Python实现求最大公约数及判断素数的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/env python def showMaxFactor(num): count = num / 2 while count > 1: if num % count == 0: print 'largest factor of %d is %d' % (num, count) break #break跳出时会跳出下面的else语句 count -= 1 else: prin
-
Java列出2到100之间所有素数的方法
本文实例讲述了Java列出2到100之间所有素数的方法.分享给大家供大家参考.具体实现方法如下: //TestPrime.java: public class TestPrime { public static boolean isPrime(int num) { for(int i = 2; i <= Math.sqrt(num); i++) { //程序默认2是素数,当j=2时,循环不执行 if(num % i == 0) { return false; } } return true; }
-
Python编程判断一个正整数是否为素数的方法
本文实例讲述了Python编程判断一个正整数是否为素数的方法.分享给大家供大家参考,具体如下: import string import math #判断是否素数的函数 def isPrime(n): if(n<2): return False; elif(n==2): return True; elif(n>2): for d in range(2,int(math.ceil(math.sqrt(n))+1)): if(n%d==0): return False; return True;
-
C#查找素数实现方法
本文所述为C#查找素数的程序代码,包括了可视化窗体的代码,找素数的方法可以借鉴.虽然实现的功能简单,不过为了演示一些C#技巧,本文实例中还用到了线程技术.ListBox列表框的使用.设置程序挂起等操作,其中备有详尽的注释,帮助大家更好的理解. 具体实现代码如下: using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms;
-
Python实现输出某区间范围内全部素数的方法
本文实例讲述了Python实现输出某区间范围内全部素数的方法.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- # 简述:区间范围101-200 # 要求:判断这个区间内有多少个素数,并逐一输出. def prime(m,n): list1=[] list2=[] for i in range(m,n+1): list1.append(i) for j in range(2,m/2): if i%j==0: list2.append(i) break #print
-
C++两种素数判定方法
目录 1.什么是素数 2.素数的两种判断方法 (1)暴力法 从 2 到 √n 6n-1与6n+1 (2)筛法 埃氏筛 欧拉筛 1.什么是素数 素数又称质数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做素数:否则称为合数(规定1既不是素数也不是合数). 在许多的程序设计题目中,都会涉及到素数的判断,那我们该如何有效判断素数呢? 2.素数的两种判断方法 (1)暴力法 从 2 到 √n 根据素数的定义,我们可以使用逐个试除的方式来判断素数,如果能为要判断的数找到一个除了1和自身以
-
C/C++利用筛选法算素数的方法示例
什么是求素数 素数指的是因子只有1和本身的数(1不是素数),求解素数在数学上应用非常广泛,而求解n以内的素数也是我们编程时常遇到的问题,在这个问题上,筛选法求解素数运行得非常快. i在2到n-1之间任取一个数,如果n能被整除则不是素数,否则就是素数 称筛法 筛选法又称筛法,是求不超过自然数N(N>1)的所有质数的一种方法.据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274-194年)发明的,又称埃拉托斯特尼筛子. 具体做法是: 先把N个自然数按次序排列起来.1不是质数,也不是合
-
判断一个数是不是素数的方法
给出一个数,判断这个数是不是素数: 复制代码 代码如下: #include <cmath> bool isPrime(int n) { int i; for (i = 2; i <= sqrt(n); i++) { if (n % i == 0) return false; } return true;}
随机推荐
- iis PHP安装脚本 PHPInstall.vbs V3.1
- 详解redis数据结构之sds
- 使Ext的Template可以解析二层的json数据的方法
- 原生JavaScript实现异步多文件上传
- 高效的使用 Response.Redirect解决一些不必要的问题
- javascript显示上周、上个月日期的处理方法
- IE和Firefox之间在JavaScript语法上的差异
- Display SQL Server Version Information
- PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
- mysql 发生系统错误1067的解决方法
- JS 新增Cookie 取cookie值 删除cookie 举例详解
- 将form表单通过ajax实现无刷新提交的简单实例
- javascript:void(0)点击登录没反应怎么解决
- Java实现二分查找算法实例分析
- javaweb实战之商城项目开发(一)
- jQuery使用hide方法隐藏页面上指定元素的方法
- c++ 面向对象的类设计
- Python自定义简单图轴简单实例
- Java实现的可选择及拖拽图片的面板功能【基于swing组件】
- 利用Node.js如何实现文件循环覆写