埃拉托色尼筛选算法

原创 2015年11月19日 11:08:17
求素数算法。
#include<iostream>
using namespace std;

int main()
{
    const unsigned int NUM = 5500;//这里修改要求的2~n(5500)之间的素数
    bool arr[NUM] = {0, 0};
    for (int i = 2; i < NUM; i++)
        arr[i] = 1;
    for (int i = 2; i < NUM; i++)
    {
        if (arr[i])
        {
            for (int j = i; i * j < NUM; j++)
                arr[j * i] = 0;
        }
    }

    for (int i = 2; i < NUM; i++)
    {
        if (arr[i])
            cout << i << endl;
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

找质数算法之埃拉托色尼筛选法(Sieve of Eratosthenes算法)

一、算法原理 一个合数总是可以分解成若干个质数的乘积,那么如果把质数(最初只知道2是质数)的倍数都去掉,那么剩下的就是质数了。 二、步骤 (1)先把1删除(1既不是质数也不是合数) (2)...

HDU Largest prime factor(埃拉托色尼筛选法求素数模板法改动)

题目地址:点击打开链接 题意:给你一个数,求它这个数的最大素因子在素数表的第几位 思路:刚开始思路有一点错误,看错误代码 错误代码: #include 0 #include #include...

基于埃拉托色尼质数筛选法求最大公因数(java)

import java.util.Scanner;//埃拉托色尼质数筛选法 public class sieveofEratosthenes { static final boolean DEB...

使用埃拉托色尼筛选法(Eratosthenes)得到素数

什么是埃拉托色尼筛选法(Eratosthenes) ? 解答:要用这种方法确定素数,就要列出所有小于等于N(大于1)的整数,然后除去所有小于等于N的平方根的素数的所有倍数。 例如...

辗转相除法、埃拉托色尼筛选法、牛顿迭代法证明与C++实现

1.辗转相除法 辗转相除法是用来计算两个数最大公约数的。 对于m,n求最大公约数,公式为: gcd(m,n) = gcd(n, m mod n) 证明:    //最大公约数用e表示。 对于m=n时,...

埃拉托色尼筛子

埃拉托色尼筛子 在中学时代我们曾经使用著名的欧几里得算法来求两个整数的最大公约数。用现代数学的术语来表述,欧几里得算法基于的方法是重复应用下列等式,直到m  mod n等于0:     gcd(m...

埃拉托色尼示例代码

  • 2012年11月18日 16:18
  • 5KB
  • 下载

(素数)埃拉托色尼筛

  • 2013年08月04日 11:39
  • 460B
  • 下载

程序3.5 埃拉托色尼筛法

筛法思想:从素数的定义出发(除了1和本身之外不能被其他数整除的数,包括 0,1),根据这个定义,可以筛除序列2的倍数(2 4 6 8 10。。。),3的倍数(3 6 9 12.。。。)。。。。知道序列...

艾托色尼法验证素数

  • 2012年03月19日 18:33
  • 1.49MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:埃拉托色尼筛选算法
举报原因:
原因补充:

(最多只允许输入30个字)