素数筛选法

简介:


今天一个大四学长给我们讲了一下素数筛选法,我觉得学长老逗了,现在言归正传,说一下素数筛选;

素数筛选:

刚开始我们的程序

第一个代码:

int sushu(int m)
{
    if(m==1)return 0;
    for(int i=2;i*i<=m;i++)
    {
        if(m%i==0)return 0;
    }
    return 1;
}

但是现在呢,我们要进行优化;

第二个代码:

void sushu()
{
    memset(data,1,sizeof(data));
    for(int i=2;i<maxn;i++)
    {
        if(data[i])
         for(long long j=i+i;j<maxn;j+=i)
           data[j]=0;
    }
    for(int i=2;i<maxn;i++)
    if(data[i])
    cout<<i<<" ";
    cout<<endl;
}

这个代码还是慢,现在进行最终代码就要闪亮登场了;

终极代码:

void sushu()
{
    memset(data,1,sizeof(data));
    for(int i=2;i<maxn;i++)
    {
        if(data[i])
         for(long long j=(long long)i*i;j<maxn;j+=i)
           data[j]=0;
    }
    for(int i=2;i<maxn;i++)
    if(data[i])
    cout<<i<<" ";
    cout<<endl;
}

目录
相关文章
|
6月前
|
Docker 容器
Docker学习笔记六:如何分享一个镜像
Docker学习笔记六:如何分享一个镜像
141 0
Docker学习笔记六:如何分享一个镜像
|
网络协议 NoSQL Linux
使用坦克PWA访问助手为自己的局域网应用快速配置免费域名
这篇教程描述如何使用坦克PWA访问助手。这篇文章简称坦克PWA访问助手为PWA助手。PWA结合了DNS服务器技术和HTTP服务器技术实现,因此它需要系统的**53**端口和**80**端口。
186 0
|
数据可视化 Windows
|
消息中间件 存储 监控
RocketMQ x OpenTelemetry 分布式全链路追踪最佳实践
RocketMQ x OpenTelemetry 分布式全链路追踪最佳实践
RocketMQ x OpenTelemetry 分布式全链路追踪最佳实践
|
Cloud Native Java 应用服务中间件
《云原生网络数据面可观测性最佳实践》——五、 典型问题华山论剑——1 某客户nginx ingress偶发性出现4xx or 5xx(下)
《云原生网络数据面可观测性最佳实践》——五、 典型问题华山论剑——1. 某客户nginx ingress偶发性出现4xx or 5xx(下)
|
算法 大数据 5G
m基于5G毫米波场景Salen-Valenzula信道建模与matlab仿真
m基于5G毫米波场景Salen-Valenzula信道建模与matlab仿真
279 0
m基于5G毫米波场景Salen-Valenzula信道建模与matlab仿真
|
监控 小程序 网络安全
Python3利用Twilio(国际)以及腾讯云服务(国内)免费发送手机短信
短信服务验证服务已经不是什么新鲜事了,但是免费的手机短信服务却不多见,本次利用Python3.0基于Twilio和腾讯云服务分别来体验一下国际短信和国内短信接口。
Python3利用Twilio(国际)以及腾讯云服务(国内)免费发送手机短信
|
机器学习/深度学习 算法 数据挖掘
全网最快入门———R语言机器学习实战篇1
R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
全网最快入门———R语言机器学习实战篇1
|
云安全 存储 运维
为什么阿里云ACE 现在这么难?还能不能考?
很多从事IT行业的人都想在这一行发光发热,获得好的岗位和丰厚的薪资,于是就需要用技能证书来证明自己的能力,阿里云人才认证就是很多人的选择,尤其是等级最高的ACE考试。
为什么阿里云ACE 现在这么难?还能不能考?
|
物联网 安全 网络协议
阿里云物联网平台工程师:打造平台我们遇到的挑战
技术的时代从传统计算机时代,到云计算时代,到移动互联网的时代,当前物联网(Internet of Things)的时代已经来临。每个IT技术时代的变迁,是建立在上一个时代的基础上,带来了新的技术应用,改变着我们的生活,生产的方式,IoT时代也不例外,在改变的背后,也意味着面临新的技术挑战和机遇。
阿里云物联网平台工程师:打造平台我们遇到的挑战