序言

初窥门径

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. Subversion和TortoiseSVN,VisualSVN图文教程

    转自:http://www.veryhuo.com/a/view/156054.html 本文为大家介绍一下SVN使用教程,在开始之前,您有必要了解一下为什么要使用SVN?因为程序员在编写程序的过程中 ...

  2. iOS 中 UIView 和 CALayer 的关系

    UIView 有一个名叫 layer ,类型为 CALayer 的对象属性,它们的行为很相似,主要区别在于:CALayer 继承自 NSObject ,不能够响应事件. 这是因为 UIView 除了负 ...

  3. JAVA 多线程(一)

    进程和线程 进程:是一个正在执行中的程序.每一个进程执行都有一个执行顺序,该执行顺序是一个执行路径,或者叫一个控制单元. 线程:就是进程中的一个独立的控制单元. 线程在控制着进程的执行. 在计算机中多 ...

  4. 【异常】Maxwell异常 Exception in thread "main" net.sf.jsqlparser.parser.TokenMgrError: Lexical error at line 1, column 596. Encountered: <EOF> after : ""

    1 详细异常 Exception in thread "main" net.sf.jsqlparser.parser.TokenMgrError: Lexical error at ...

  5. CIP 协议安全扫盲

  6. python 元类理解

    原文来自:https://segmentfault.com/a/1190000011447445 学懂元类,你只需要知道两句话: 道生一,一生二,二生三,三生万物 我是谁?我从哪来里?我要到哪里去? ...

  7. JS函数篇【2】

    什么是函数 函数的作用,可以写一次代码,然后反复地重用这个代码. <h3 onload="add2(1,2,3);add3(4,5,6)"></h3> &l ...

  8. JS创建SVG的问题

    在线编辑的一个东西,用的是js+svg,遇到了这样一个问题,就是说我监听页面的单击事件,然后记录下来鼠标单击的位置,给svg添加子标签,然后页面上展示出来 说的可能不大清楚,上代码吧 <!DOC ...

  9. <你们都是魔鬼吗>第二次团队作业:团队项目选题

    第二次团队作业:团队项目选题 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 你们都是魔鬼吗 作业学习目标 任务1: 团队初选项目可行性自评,使用 ...

  10. Dos命令获取当前时间

    = = 这个真的折腾死我了.... 参考:http://bbs.bathome.net/thread-3328-1-1.html 操作系统不同,日期格式也可能不同: 星期二 2008-07-29 20 ...