GO语言求100以内的素数

本文实例讲述了GO语言筛选法求100以内的素数。分享给大家供大家参考。具体实现方法如下:

思路:找出一个非素数就把它挖掉,最后剩下就是素数。
下面就来欣赏一下go简洁的代码吧

目前不支持GO的代码插入,使用xml的代替一下。

代码如下:

package main

import (
    "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语言程序设计有所帮助。

(0)

相关推荐

  • go语言中range用法

    本文实例讲述了go语言中range用法.分享给大家供大家参考.具体分析如下: range是go语言系统定义的一个函数. 函数的含义是在一个数组中遍历每一个值,返回该值的下标值和此处的实际值. 假如说a[0]=10,则遍历到a[0]的时候返回值为0,10两个值. 下面是一个例子:这个例子是求一个数组里面的平均值. 复制代码 代码如下: package main import (     "fmt" ) func main() {     sum := 0.0     var avg fl

  • go语言base64加密解密的方法

    本文实例讲述了go语言base64加密解密的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (     "encoding/base64"     "fmt" ) const (     base64Table = "123QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr234560178912" ) var coder = base6

  • go语言通过zlib压缩数据的方法

    本文实例讲述了go语言通过zlib压缩数据的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (     "fmt"     "compress/zlib"     "bytes" ) func main() {     var input = []byte("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKsAAAAgCAYAA

  • 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', // 移除可整除的

  • go语言实现sqrt的方法

    本文实例讲述了go语言实现sqrt的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package mymath import "math" func InvSqrt(x float32) float32 {     var xhalf float32 = 0.5*x // get bits for floating VALUE     i := math.Float32bits(x) // gives initial guess y0     i = 0x5f3

  • go语言单例模式(Singleton)实例分析

    本文实例讲述了go语言单例模式(Singleton)用法.分享给大家供大家参考.具体分析如下: 单例模式(Singleton):表示一个类只会生成唯一的一个对象.单例模式具有如下性质: A.这些类只能有一个实例: B.这些能够自动实例化: C.这个类对整个系统可见,即必须向整个系统提供这个实例. 复制代码 代码如下: package singleton import "fmt" var _instance *object type object struct {     name st

  • 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语言实现简单TCP服务的方法

    本文实例讲述了GO语言实现简单TCP服务的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "net" "fmt" ) var (   maxRead = 1100     msgStop   = []byte("cmdStop")     msgStart  = []byte("cmdContinue")     ) func main() {       ho

  • go语言异常panic和恢复recover用法实例

    本文实例讲述了go语言异常panic和恢复recover用法.分享给大家供大家参考.具体分析如下: go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处理 在一个主进程,多个go程处理逻辑的结构中,这个很重要,如果不用recover捕获panic异常,会导致整个进程出错中断 复制代码 代码如下: package main import "fmt" func main() { defer func() {     //必须要先声明defer,否

  • Go语言图片处理和生成缩略图的方法

    本文实例讲述了Go语言图片处理和生成缩略图的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (     "fmt"     "os"     "image"     "image/color"     "image/draw"     "image/jpeg" ) func main() {     f1, err := os

随机推荐