/*
写出不超过100的所有的素数。
解  将不超过100的正整数排列如下:

1   2   3   4   5   6   7   8   9  10
11  12  13  14  15  16  17  18  19  20
21  22  23  24  25  26  27  28  29  30
31  32  33  34  35  36  37  38  39  40
41  42  43  44  45  46  47  48  49  50
51  52  53  54  55  56  57  58  59  60
61  62  63  64  65  66  67  68  69  70
71  72  73  74  75  76  77  78  79  80
81  82  83  84  85  86  87  88  89  90
91  92  93  94  95  96  97  98  99  100

按以下步骤进行:
(ⅰ)  删去1,剩下的后面的第一个数是2,2是素数;
(ⅱ)  删去2后面的被2整除的数,剩下的2后面的第一个数是3,3是素数;
(ⅲ)  再删去3后面的被3整除的数,剩下的3后面的第一个数是5,5是素数;
(ⅳ)  再删去5后面的被5整除的数,剩下的5后面的第一个数是7,7是素数;
  L L
照以上步骤可以依次得到素数2, 3, 5, 7, 11, L。
由定理2推论可知,不超过100的合数必有一个不超过10的素约数,因此在删去7后面被7整除的数以后,就得到了不超过100的全部素数。

*/

//Eratosthenes筛法求1-100之间的素数
#include <cstdlib>
#include <iostream>
#include <cmath>

using namespace std;

bool judge(int n)//判断该n是否为素数
{
    bool j=1;
    for (int i=2;i<sqrt(n);i++)
    {
        if (n%i==0)
        {
            j=0;
        }
    }
    return j;
}

void del(int n,int *a)//删去n后面的被2整除的数
{//广州c++培训
    for (int i=n;i<100;i++)
    {
        if(a[i]%n==0)
            a[i]=-1;
    }
}
int main(int argc, char *argv[])
{
    int a[100];
    for(int i=0;i<100;i++)
        a[i]=i+1;
    a[0]=-1;
    for (i=2;i<sqrt(100);i++)//任何大于1的合数a必有一个不超过 的素约数
    {
        if(judge(a[i]))
        {
            del(i,a);//如果为素数,将该数设置为-1
        }
    }
    
    for(i=0;i<100;i++)//输出
    {
        if(a[i]>0)
        cout<<a[i]<<" ";
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}

转载于:https://www.cnblogs.com/javaitpx/archive/2012/11/21/2780430.html

Eratosthenes筛法求1-100之间的素数相关推荐

  1. python双素数_Python编程:筛法求两个数之间的素数

    要求计算最多10组,每组由两个数m,n构成(1<=m<=n<=1000000000,n-m<100000),要求打印出m,n之间的所有素数(包括m,n),时间限制6s.下面是我 ...

  2. c语言求2 100之间所有素数的个数及和,c++求2~100之间所有素数的个数及和

    满意答案 dengjk87 2016.07.26 采纳率:47%    等级:12 已帮助:11948人 123456789101112131415#includeusing namespace st ...

  3. 求1到100之间的素数

    素数(质数):只能被1和它本身整除的数 求1到100之间的素数时,使用双层循环语句加上分支语句就可以完成了. 第一层循环控制循环的次数,第二层循环从2开始,到这个数开平方结束(如果一个数能被从2到这个 ...

  4. js第2章基本语法 课后习题——求出1~100之间的素数、求红白黑球

    <JavaScript前端开发案例教程>黑马程序员编著,中国工信出版集团,人民邮电出版社-课后习题 目录 一.填空题 二.判断题 三.选择题 四.编程题 1.请编写程序求出1~100之间的 ...

  5. python求2到100间的素数_python输出2到100之间的素数_后端开发

    php实现无限级评论功能_后端开发 php实现无限级评论的方法:1.首先在评论表中加入一个存放父级评论ID的字段,其默认值为0:2.再编写一个递归函数,将评论数据转换成树形结构:3.最后将转换后的评论 ...

  6. ACMNO.17C语言-筛法求素数 用筛法求之N内的素数。

    题目描述 用筛法求之N内的素数. 输入 N 输出 0-N的素数 样例输入 100 样例输出 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 7 ...

  7. 用Java编写2到100之间的素数;判断一个数是不是素数

    目录 1.用Java编写2到100之间的素数 2.判断一个数是不是素数 1.用Java编写2到100之间的素数 package day_2023_4_18;public class Main {pub ...

  8. 用筛法求之N内的素数

    用筛法求之N内的素数. 时间限制: 1 Sec  内存限制: 64 MB 提交: 127  解决: 105 [提交][状态][讨论版][Edit] [TestData] 题目描述 用筛法求之N内的素数 ...

  9. 蓝桥杯每日一练——用筛法求之N内的素数 python

    题目描述 用筛法求之N内的素数. 输入 N 输出 0-N的素数 样例输入 100 样例输出 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 7 ...

最新文章

  1. JAVA CLASSPATH 和PATH的区别 经典
  2. Mysql:一条sql是如何执行的?
  3. mysql的电话面试题_以往百度电话面试题
  4. shiro框架@RequiresPermissions 解释
  5. ENSP配置 实例九 动态Nat配置
  6. 启用OWA提示用户密码过期工具
  7. CNCC2018 即将开幕,报名优惠截止倒计时5天!
  8. amp;#9733;一名“标题党”自我修炼的10…
  9. 241.为运算表达式设计优先级(力扣leetcode) 博主可答疑该问题
  10. 基于变步长扰动观察法的最大功率点跟踪
  11. python统计群聊话痨、活跃日期和活跃时段
  12. 青春校园小说:天使会爱上恶魔【完】『看了绝对上瘾』(欢迎转载)
  13. GEE-Python遥感大数据分析
  14. 读文献——《ImageNet classification with deep convolutional neural networks》
  15. input获取焦点边框 outline属性
  16. html 6是什么格式,ac6是什么格式
  17. 19HTML5期末大作业:动画漫影视网站设计——动画漫展学习资料电影模板(6页) HTML+CSS+JavaScript 学生DW网页设计作业成品 课程设计网页规划与设计 计算机毕设网页设计源
  18. C++/java设计模式汇总
  19. android获取全部ram和rom,ROM与RAM的那点事,超详细解说
  20. 魔兽争霸之PHP设计模式-单件模式[Singleton]

热门文章

  1. linux之man命令
  2. Centos7升级Python2到Python3
  3. 几十种编程语言说Hello World
  4. leetcode—sqrt
  5. 制作GHOST XP 基于自由天空驱动包+SysPacker 2.1
  6. redis解决了分布式系统的session一致性问题
  7. 15.分布式文档系统-document id的手动指定与自动生成两种方式解析
  8. 【论文写作】客户端设计与实现中模块程序实现如何写
  9. python中的递归思想_使用python语言表达分形与递归
  10. python中读取文本文件_利用Python读取文本文件?