GO语言求100以内的素数_Golang

本文实例讲述了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语言程序设计有所帮助。

时间: 2024-10-05 04:44:42

GO语言求100以内的素数_Golang的相关文章

.net-C#.Net怎么求100以内的素数?

问题描述 C#.Net怎么求100以内的素数? C#.Net怎么求100以内的素数? Visua 2005环境? 解决方案 http://www.51testing.com/html/25/237925-232093.html 求采纳,谢谢 解决方案二: 代码http://zhidao.baidu.com/link?url=Ou2UF57bXZE_XaBUkZN-00294GQSf2ZhahMHI988ZsvFqahXbREyAS7mn2f-vtw1D8bZuoFBgppfEgMD7mLQWwB

java求100以内的素数示例分享_java

复制代码 代码如下: package airthmatic; public class demo8 { /**  * 素数是指因数只有1和本身的数字  * @param arg  */ public static void main(String arg[]) {  for(int i=1;i<=100;i++)  {   if(find(i))    System.out.print(i+" ");  } }  /**  * 1-n个自然数中的素数  * @param n  *

使用c语言判断100以内素数的示例(c语言求素数)_C 语言

从console输入一个数,判断这个数是否为素数(质数). 复制代码 代码如下: #include <stdio.h> /**判断100以内的素数*/ //定义函数判断是否是素数int isPrime(int num ){    int i;    //从2开始循环,一直到i的平方小于等于给定的数.    for (i = 2; i*i <= num; i++) {        if ( ( num % i ) == 0 ) {            return 0;       

求100以内的质数,值得一看

问题描述 刚才看了一个招聘求100以内的质数问题,去求职的要求差不多都在7500/M以上,更有甚者要到12000/M,其实算法有很多种我贴出自己的算法,要价:4500/public static void main(String[] args) {for(int i=1;i<=100;i++){int flag = 0;for(int j=1;j<=i;j++){if(i%j==0){flag++;}}if(flag>2){continue;}else {System.out.print

编程题-如何在C#中用math.sqrt实现求200以内的素数?

问题描述 如何在C#中用math.sqrt实现求200以内的素数? 不用函数,用嵌套循环.始终没想明白怎么写................... 解决方案 using System;public class Test{ public static void Main() { for (int i = 2; i < 200; i++){ bool isp = true; for (int j = 2; j <= Math.Sqrt((double)i); j++) { if (i % j ==

Ruby、PHP、Shell实现求50以内的素数_ruby专题

ruby求50之内的素数的方法,感觉对比PHP和SHELL方法是最简单的,但SHELL中可以利用factor命令,而PHP中没有求素数的对应函数的,需要自己设计算法,三种方式大家对比学习下,应该还有更优更简单的方法的. 复制代码 代码如下: #encoding:utf-8 #求50以内的素数(注意数字中..与...的区别)   for i in 2..50 #1默认不为素数,所以从1-50范围内被排除     f=true #起始假定每个数都是素数     for p in 2...i #比自身

java求100之内的素数(质数)简单示例_java

质数又称素数.一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数:否则称为合数.根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积:而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的.下面是一个java求100之内的素数简单示例 复制代码 代码如下: public class test {  public static void main(String[] args) {  int i,n,k=0;     for (n = 3;

c语言-求100~200间所有素数,已写代码,但不出结果,求大神指正,感谢!

问题描述 求100~200间所有素数,已写代码,但不出结果,求大神指正,感谢! 问题描述:小弟刚开始学C语言,碰到题目,画出流程图,但是不知为什么就是无法出结果,求大神帮忙指点! 这是我写的代码: #include #include int main() { int n,i,m; m=0; for(n=100;n<=200;) { for(i=2;i<=n-1;i++) {if((n%i)==0) break;} if(i=n) { printf("%d ",n); m++

java使用筛选法求n以内的素数示例(java求素数)_java

复制代码 代码如下: /** * @author jxqlovedn * 埃拉托斯特尼素数筛选法,请参考:http://zh.wikipedia.org/zh-cn/埃拉托斯特尼筛法 */public class AratosternyAlgorithm {  public static void getPrimes(int n) {  if(n < 2 || n > 1000000)   // 之所以限制最大值为100万,是因为JVM内存限制,当然有其他灵活方案可以绕过(比如位图法)   t