go语言求1到100之内的质数

素数指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数(也叫质数)。比1大但不是素数的数称为合数。1和0既非素数也非合数。

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
        // math.Sqrt 开平方
    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.Print()
            n = 0
        }
    }
    fmt.Printf("\n")
}

原文地址:https://www.cnblogs.com/Csir/p/9321200.html

时间: 2024-08-03 04:50:56

go语言求1到100之内的质数的相关文章

PHP面试题之实现输出100以内的质数

最近求职时的其中一道面试题: 求100之内的质数 <? //求100以内质数 for ($i = 1; $i <= 100; $i++) { $k = 0; for ($j = 1; $j < $i; $j++) { if ($i % $j == 0) { $k++; } } if ($k == 1) { echo $i; echo "  "; } } ?>

求100之内的素数

题目:求100之内的素数 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数. 1 package com.li.FiftyAlgorthm; 2 3 /** 4 * 题目:判断101-200之间有多少个素数,并输出所有素数. 5 * 程序分析:判断素数的方法:用一个数分别去除2得到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数. 6 * @author yejin 7 */ 8 public class Prime

语言的学习基础,100个经典的算法

POJ上做做ACM的题 语言的学习基础,100个经典的算法C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔 子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数 为多少? __________________________________________________________________ 程序分析:兔子的规律为数列1,1,2,3,5,8

求100以内的质数

求100以内的质数. 1 num = [2] 2 i = 3 3 while i < 101: 4 j = 2 5 while j < i: 6 if i % j == 0: 7 break 8 else: 9 j = j + 1 10 continue 11 else: 12 num.append(i) 13 i = i + 1 14 print(num)

C语言求质数的算法

前言 上次被出了一题质数的C语言求解题目(面试),当时用了最粗暴的算法,回来仔细参考资料,其实答案有很多种: 1,小学生版本: 判断 x 是否为质数,就从 2 一直算到 x-1. static rt_uint32_t array1[ARRAY_LEN]; void func1(void) { for (rt_uint32_t i = 1; i <= ARRAY_LEN; i++) { array1[i - 1] = 0; } rt_uint32_t x, y = 0, z = 0; rt_uin

编程题:用goto语句实现,求1+2+...+100的结果。

#include<stdio.h> void main() { int n=1,s=0; loop:if(n<=100) { s=s+n; n=n+1; goto loop; } printf("1+2+3+...+100=%d\n",s); } goto语句介绍: 运行结果: 总结:goto语句为无条件转移语句.一般不推荐使用. 编程题:用goto语句实现,求1+2+...+100的结果.,布布扣,bubuko.com

编程题:用while语句实现,求1+2+...+100的结果。

#include<stdio.h> void main() { int s,n; s=0; n=1; while(n<=100) { s=s+n; n=n+1; } printf("1+2+3+...+100=%d\n",s); } 下面是算法解析与流程图: 运行结果: 编程题:用while语句实现,求1+2+...+100的结果.,布布扣,bubuko.com

用c语言求ax^2+bx+c=0方程的解

用c语言求ax^2+bx+c=0方程的解.#include <stdio.h>#include <math.h>#define m 0.000001int main(){     float a,b,c,x,x2,n,q,p;     scanf ("%f%f%f",&a,&b,&c);     n=b*b-4*a*c;     if ((a<m)&&(a>-m))     {         x=(-c)/b

C语言求积分

编一个程序,求定积分. 1 #include<stdio.h> 2 int main() 3 { 4 float x,n=100000,integral=0,i; 5 for(i=0;i<100000;) 6 { 7 i++; 8 x=n*n; 9 integral+=i/x; 10 } 11 printf("%0.5f\n",integral); 12 return 0; 13 } C语言求积分