本文实例讲述了GO语言筛选法求100以内的素数。分享给大家供大家参考。具体实现方法如下:
思路:找出一个非素数就把它挖掉,最后剩下就是素数。
下面就来欣赏一下go简洁的代码吧
目前不支持GO的代码插入,使用xml的代替一下。
package mainimport ( "fmt" "math" )
func main() { var i, j, n int var a [101]int for i = 1; i <= 100; i++ { a[i] = i } a[1] = 0 for i = 2; i < int(math.Sqrt(100)); i++ { for j = i + 1; j <= 100; j++ { if (a[i] != 0) && (a[j] != 0) { if a[j]%a[i] == 0 { a[j] = 0 } } } } fmt.Println() for i, n = 1, 0; i <= 100; i++ { if a[i] != 0 { fmt.Print(a[i], "\t") n++ } if n == 10 { fmt.Println() n = 0 } } }
希望本文所述对大家的GO语言程序设计有所帮助。
我试图找到素数的素数因子,然后将它们添加到一个数组中,该方法将返回该数组。我的方法甚至没有结果,程序只是继续运行。有人能找出哪里出了问题吗?谢谢。 checkIfPrime方法是我之前写的一个有效的方法。它只是检查一个数字是否为素数,返回一个布尔值。我把它放在那里是为了检查minusPrime何时被划分为一个质数,而质数将不再被划分,并将其作为最后一个因子添加到数组中。
标准的Go语言代码库中包含了大量的包,并且在安装 Go 的时候多数会自动安装到系统中。我们可以在 $GOROOT/src/pkg 目录中查看这些包。下面简单介绍一些我们开发中常用的包。 1) fmt fmt 包实现了格式化的标准输入输出,这与C语言中的 printf 和 scanf 类似。其中的 fmt.Printf() 和 fmt.Println() 是开发者使用最为频繁的函数。 格式化短语派生
前面两个小节我们分别学习了 Go 语言中的变量声明和赋值。按照一贯的思维,变量肯定是要先声明然后才能被赋值并使用。但是在 Go 语言中新增了一个特殊的运算符 := ,这个运算符可以使变量在不被声明的情况下直接使用,这节课我们就来具体看下这个特殊的运算符: 1. 单变量 := Go 语言中新增了一个特殊的运算符:=,这个运算符可以使变量在不声明的情况下直接被赋值使用。其使用方法和带值声明变量类似,只
我试图遵循Google Sheets API快速入门: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchUpdate (向下滚动到示例,然后单击GO) 以下是我尝试更新电子表格的方式: 输出: hello.go:43:结构初始化器中无效的字段名ValueInputOption h
主要内容:Go语言数组的声明,比较两个数组是否相等,遍历数组——访问每一个数组元素数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。因为数组的长度是固定的,所以在Go语言中很少直接使用数组。 和数组对应的类型是 Slice(切片),Slice 是可以增长和收缩的动态序列,功能也更灵活,但是想要理解 slice 工作原理的话需要先理解数组,所以本节主要为大家讲解数组的使用,至于 Slice(切片)将在《 Go语言切片》一节中为大家讲解。 Go语言数组
在计算机中,复数是由两个浮点数表示的,其中一个表示实部(real),一个表示虚部(imag)。 Go语言中复数的类型有两种,分别是 complex128(64 位实数和虚数)和 complex64(32 位实数和虚数),其中 complex128 为复数的默认类型。 复数的值由三部分组成 RE + IMi,其中 RE 是实数部分,IM 是虚数部分,RE 和 IM 均为 float 类型,而最后