• 法一:
  • √n判别
  • 这个的话就是暴力了吧,不过只能判别单个数是不是质数,而且很大的话会爆
  • //没有代码qwq(不想写
  • 法二:埃式筛法
  • O(nloglogn)判别
  • 直接代码好不啦:
  • int pri[],n,num;
    bool yes[];
    sieve(int a)//筛
    {
    for(int i=;i<=a;i++)yes[i]=;
    for(int i=;i<=a;i++){
    if(yes[i]){
    pri[++num]=i;
    for(int j=i*;j<=a;j+=i)
    yes[j]=;}
    }
    }
    int main()
    {
    cin>>n;
    sieve(n);
    for(int i=;i<=num;i++)
    cout<<pri[i]<<endl;
    }//伪代码qwq
  • 法三:线形筛:
  • int pri[],n,num;
    bool yes[];
    int hs(int a){
    num=;
    memset(yes,,sizeof(yes));
    for(int i=;i<=a;i++){
    if(!yes[i])pri[num++]=i;
    for(int j=;j<=num&&i*pri[j]<=a;j++){
    yes[i*pri[j]]=;
    if(i%pri[j]==)break;
    }
    }
    }
    int main()
    {
    cin>>n;
    hs(n);
    for(int i=;i<num;i++)
    cout<<pri[i]<<endl;
    }

    end-

part4:素数判别的更多相关文章

  1. nefu 120 梅森素数

    题意:给出p(1<p<=62),让你求Mp=2^p-1是否为梅森素数. 梅森素数:若p为素数,且Mp=2^p-1也是素数,则Mp为梅森素数.若p为合数,Mp=2^p-1一定为合数若p为素数 ...

  2. maple 教程

    1 初识计算机代数系统Maple 1.1 Maple简说 1980年9月, 加拿大Waterloo大学的符号计算机研究小组成立, 開始了符号计算在计算机上实现的研究项目, 数学软件Maple是这个项目 ...

  3. 小学生都看得懂的C语言入门(3): 数组与函数

    #include <stdio.h> int main() { int x; ; ; scanf("%d",&x){ sum+=x; cnt++; scanf( ...

  4. 计蒜客 Goldbach Miller_Rabin判别法(大素数判别法)

    题目链接:https://nanti.jisuanke.com/t/25985 题目: Description: Goldbach's conjecture is one of the oldest ...

  5. 记一次【求n以内的素数个数】的优化记录

    最近在leetCode上刷提,还是满锻炼人的,为以后面试打基础吧.不多说下面开始. 问题:求[2,n]之间的素数的个数. 来源:leetCode OJ 提示: Let's start with a i ...

  6. C语言判断一个数是否是素数

    素数又称质数.所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除. 思路1):因此判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的 ...

  7. JAVA语言的素数判断,随机数,函数调用

    近来刚学JAVA,就从JAVA写起吧,JAVA判别素数,其实方法和C/C++没什么区别,主要就是想谈一下,其中包括的3个点. (1)JAVA语言产生随机数,random函数,定义参数max的作用是给出 ...

  8. 小学生都看得懂的C语言入门(2): 判别 循环的一些应用实例

    1.bool 类型 定义bool类型之前需要导入#include <stdbool.h> #include <stdio.h> #include <stdbool.h&g ...

  9. 【题目】求n以内的素数个数

    最近在leetCode上刷提,还是满锻炼人的,为以后面试打基础吧.不多说下面开始. 问题:求[2,n]之间的素数的个数. 来源:leetCode OJ 提示: Let's start with a i ...

随机推荐

  1. git 用远程覆盖本地

    git 用远程覆盖本地   git fetch --all git reset --hard origin/master

  2. git操作常见错误处理

    1.Error:The authenticity of host 'github.com (192.30.255.112)' can't be established. Git密钥认证github时出 ...

  3. .net 调用python 实例

    如标题 ,python属于解释型语言,所以直接将python的文件copy到项目中 新建.net控制台应用程序,直接nuget  IronPython 安装成功后 在项目内新建Sum文件夹,将py.p ...

  4. C工程 交互 ceph 分布式存储系统

    网上看到有人问,如何在C项目里调用ceph系统对外提供的API,实现分布式存储. 我在网上搜到了相关信息,但是因为不是会员无法追加答案,故而,贴于此. 赠予有缘人:) ———————————————— ...

  5. require 和 import 区别

    我很懵逼啊  都是在引用模块,那到底用哪个? 参考:https://www.cnblogs.com/hwldyz/p/9145959.html 看来会明白一点的 首先这两个都是为了JS模块化编程使用. ...

  6. sublime设置tab为四个空格

    在首选项->设置里: 添加: "tab_size": 4, "translate_tabs_to_spaces": true,

  7. Delphi中有关窗口绘制

    Invalidate方法通知Windows应该重新绘制表单的整个表面.最重要的是Invalidate不会立即强制执行绘制操作. Windows只是存储请求,并且只会响应它当前程序完全执行后,并且只要系 ...

  8. [转载]lib和dll文件的区别和联系

    出处:https://blog.csdn.net/weiaipan1314/article/details/52252478 什么是lib文件,lib和dll的关系如何 (2008-04-18 19: ...

  9. java线程学习之线程创建

    线程是程序控制的一个内部数据流.线程的状态转化如下 或者 在java中创建线程有两种方式: 1.实现runnable接口(这个比较好,推荐这个.原因是:用的时候比较灵活,相比较继承Thread类,用接 ...

  10. Unable to execute 'doFinal' with cipher instance

    今天项目启动后登录项目,突然爆出Unable to execute 'doFinal' with cipher instance错误.清除cookie登录测试,又不报错了,以前也见过类似问题,因为不影 ...