序言

初窥门径

1 第一题 素数的烦恼

离开了家乡,你到达了数字之地,在这里数字2总感觉自己是自然数中最独特的一个,他只有一和它本身两个因数,为此它十分苦恼。为了不再寂寞,他建立了素数王国,他请求许多人帮他聚集所有n以内的子民,可效率太低了。这样下去直到老死也无法完成,现在就靠你来帮他实现愿望了。

你使用了最简素数线性筛法

这种魔法前提是如果一个数是素数,那么它的倍数一定不是素数。也就是极大缩小了枚举的量。你又注意到,32和23其实是一回事,所以只乘一次即可。

所以只用正在判断的数作为不动乘数,遍历之前找到的素数与之相乘,可以大大避免重复乘法。

开辟一个大数组用做素数的标记,1代表素数,0代表非素数。

#define max 100000
bool isp[max];

开辟大数组用于存放素数

long long a[max],t=0;

除零和一外先把所有数全假设为素数

memset(isp,1,sizeof(isp));
isp[0]=isp[1]=0;

下面就从2开始找n以内所有素数

首先输入n

然后遍历2~n并用t来标记找到了第几个素数

如果我们用作素数标志的bool值为1则为素数

除去素数的倍数即将他们的bool值设为0

for(long long ii=2;ii<=n;ii++){
if(isp[ii]!=0){
a[t++]=ii;
}
for(long long jj=0;jj<t&&a[jj]*ii<n;jj++){
isp[a[jj]*ii]=0;
}
}

此时,a[t-1]中已经存满了n以内的所有素数,你也完美的完成了素数国王的任务。

告别了素数国王,你朝着迷失之地进发,只为变得更加强大。却不知还有多少危险在等待着你。

My algorithmic road的更多相关文章

  1. JavaScript Application Architecture On The Road To 2015

    JavaScript Application Architecture On The Road To 2015 I once told someone I was an architect. It’s ...

  2. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  3. POJ 3204 Ikki's Story I - Road Reconstruction

    Ikki's Story I - Road Reconstruction Time Limit: 2000MS   Memory Limit: 131072K Total Submissions: 7 ...

  4. Codeforces #380 div2 C(729C) Road to Cinema

    C. Road to Cinema time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  5. dp or 贪心 --- hdu : Road Trip

    Road Trip Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 29 ...

  6. HDU 1598 find the most comfortable road(最小生成树之Kruskal)

    题目链接: 传送门 find the most comfortable road Time Limit: 1000MS     Memory Limit: 32768 K Description XX ...

  7. 三分 --- CSU 1548: Design road

    Design road Problem's Link:   http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1548 Mean: 目的:从(0,0)到 ...

  8. hdu 5861 Road 两棵线段树

    传送门:hdu 5861 Road 题意: 水平线上n个村子间有 n-1 条路. 每条路开放一天的价格为 Wi 有 m 天的操作,每天需要用到村子 Ai~Bi 间的道路 每条路只能开放或关闭一次. ( ...

  9. HDU4081 Qin Shi Huang's National Road System(次小生成树)

    枚举作为magic road的边,然后求出A/B. A/B得在大概O(1)的时间复杂度求出,关键是B,B是包含magic road的最小生成树. 这么求得: 先在原图求MST,边总和记为s,顺便求出M ...

随机推荐

  1. jmeter安装,汉化

    下载完成后打开bin文件,选择jmeter.properties打开,搜索language,修改成zh_CN,汉化jmeter,记得去掉前面的#号,然后保存,修改完配置文件后需要重启jmeter 用的 ...

  2. c# 输出参数-out

  3. 运行 jcontrol 报 libXext.so.6: cannot open shared object file 错误

    需要安装额外库: yum install libXext.x86_64 yum install libXrender.x86_64 yum install libXtst.x86_64

  4. 【DevOps】在CentOS中安装Rancher2,并配置kubernetes集群

    准备 一台CentOS主机,安装DockerCE,用于安装Rancher2 一台CentOS主机,安装DockerCE,用于安装kubernetes集群管理主机 多台CentOS主机,安装Docker ...

  5. jade成段的文本和标签

    如果文本是大段的文本怎么写呢?因为文本会换行,比如有多行的文本,标签,文本傻傻分不清楚 p 1234567890 => <p>1234567890</p> 如果需要换行, ...

  6. 【胡搞的不能AC的题解,暴力搜索一发博弈问题】1995 三子棋 - 51Nod

    1995 三子棋 题目来源: syu校赛 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 原题链接: https://www.51nod.com/onlineJudge/ ...

  7. 前端学习笔记--CSS布局--盒子模型

    1.概述: 2.盒子模型 overflow属性: border属性: 1.padding属性: margin:

  8. VS Code 常用插件配置

    Debugger for Chrome 该扩展可以在两种模式下运行--它可以启动(launch)导航到你的应用程序的Chrome实例,也可以附加(attach)到正在运行的Chrome实例.这两种模式 ...

  9. TOMCAT与http

    一.Tomcat是什么?Tomcat是一个Web应用服务器,同时也是一个Servlet/JSP容器.Tomcat作为Servlet容器,负责处理客户端请求,把请求传送给Servlet,并将Servle ...

  10. Visual Studio Code IDE + Docker实现PHP Xdebug调试

    一.Docker中安装配置Xdebug 通过phpinfo()输出当前安装的PHP版本信息,将信息拷贝到https://xdebug.org/wizard.php相应输入框中,系统会自动检测并推荐合适 ...