链接:http://codevs.cn/problem/1530/

解题思路:
这个题最关键的剪枝还是 因子小于平方根,但不是像原来那样用。
逆转思维,与其说判断哪些是质数,不如说判断哪些不是质数,更简单,更效率。
所有的合数都有一个共同的特点,就是能被拆成质因子。
那么已经出现的质因子,迟早有一次会成为一个合数的因子。
那么直接拿要判断的数挨个被质数除一遍,就可以直接判断是不是合数了。
写到这,前三个点就过了,至于最后一个100000,就是开头提到的剪枝。
不管怎样,一个合数里面的质因子一定也小于它的平方根
所以提前判断一下,试到第几个合数停止,即可效率大大提高。

 #include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int n,ans,prime[],ph;//ph表示当前要搜的是第几个质数。 int divide(double x){//判断试到第几个素数为止
int temp=(int)x;
for (int i=;i<ph;i++){
if (prime[i]>temp) return i-;
}
} int main(){
cin>>n;
prime[]=;
prime[]=;
ph=;
bool check;
int temp,test;
while(ph<n){//递归
temp=prime[ph];
ph++;
while (){
temp++;
test=divide(sqrt(temp));
for (int i=;i<=test;i++) {
if (temp % prime[i]==) {check=true;break;}
}//挨个除一遍
if (check) {check=false;continue;}
prime[ph]=temp;
break;
}
}
cout<<prime[n];
}

codevs 2530大质数的更多相关文章

  1. 素数筛 codevs 1675 大质数 2

    1675 大质数 2  时间限制: 1 s  空间限制: 1000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 小明因为没做作业而被数学 ...

  2. codevs——1530 大质数

    1530 大质数  时间限制: 1 s  空间限制: 1000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 小明因为没做作业而被数学老师罚站,之后数学老师 ...

  3. codevs——1675 大质数 2

    1675 大质数 2  时间限制: 1 s  空间限制: 1000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 小明因为没做作业而被数学老师罚站,之 ...

  4. Pollard Rho大质数分解学习笔记

    目录 问题 流程 代码 生日悖论 end 问题 给定n,要求对n质因数分解 普通的试除法已经不能应用于大整数了,我们需要更快的算法 流程 大概就是找出\(n=c*d\) 如果\(c\)是素数,结束,不 ...

  5. Codevs 2009 大dota英雄 2013年省队选拔赛辽宁(状压DP)

    2009 大dota英雄 2013年省队选拔赛辽宁 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 话说退役后的生活好无聊啊,以 ...

  6. 分解大质数模板(复杂度小于sqrt(n))

    //POJ 1811 #include <cstdio> #include <cstring> #include <algorithm> #include < ...

  7. 数据结构--栈 codevs 1107 等价表达式

    codevs 1107 等价表达式 2005年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond     题目描述 Descripti ...

  8. LuoguP3792 由乃与大母神原型和偶像崇拜

    题目地址 题目链接 题解 由乃题还是毒瘤啊orz 显然的一个结论是,如果保证不重复,维护区间min,max然后判断max-min+1==r-l+1是否成立即可 但是有重复 于是就要orz题解区的各位大 ...

  9. 【BZOJ】3751: [NOIP2014]解方程【秦九韶公式】【大整数取模技巧】

    3751: [NOIP2014]解方程 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 4856  Solved: 983[Submit][Status ...

随机推荐

  1. php导出csv数据在浏览器中输出提供下载或保存到文件的示例

    来源:http://www.jb51.net/article/49313.htm 1.在浏览器输出提供下载 /** * 导出数据到CSV文件 * @param array $data 数据 * @pa ...

  2. iOS 开发笔记 -- 各种细枝末节的知识(水滴石穿)

    在此总结整理,遇到的各种的小问题: 1.通过从字典(数组)中取出的NSString的length==0 作为if的判断条件导致的carsh: 由于在字典中通过Key取出值之后直接做了length相关操 ...

  3. Laravel5.1-错误和日志

    简介 这一章也是属于文档写得比较混乱的一章,所以我决定重新组织一下内容结构: 配置 debug配置 我们都知道,开发环境应该把debug打开,生产环境应该把debug关闭:这个设置在config/ap ...

  4. (原创)Activity启动模式之singleTask

    android中activity有四种启动模式 standard(默认):在同一个任务栈中可以有重复的activity,基本没什么限制 singleTop:只有当此activity在栈顶时,去创建它, ...

  5. 单臂路由与三层交换机实现VLAN通信

    不同VLAN之间相互通信的两种方式 (单臂路由.三层交换) 试验环境:东郊二楼第三机房 试验设备:Catalyst 2950-24(SW3)                   Cisco 2611( ...

  6. PictureCutting图片批量裁切(裁剪)工具

    PictureCutting图片批量裁切(裁剪)工具 写这个工具的原因是因为在获取一个软件的皮肤包中的图片的时候需要进行批量的裁切工作,而有没有找到在linux下简单好用的工具,干脆就用QT写了一个. ...

  7. GIT文件的三种状态

    对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged).已提交表示该文件已经被安全地保存在本地数据库 中了:已修改表示修改了某 ...

  8. MYSQL 的错误Incorrect information in file: '.\test\stuff.frm

    用eos 重新数据库初始化 会出现这个错误 然后 把 mysql 的 两个日志文件删除就行.第一次不知道怎么g搞,花了一下午的时间重装了mysql.5.0. 删除文件 >>>> ...

  9. [20160804]synchronized

    class Timer{ private static int num; void add(String name){ //synchronized (this){ num++; try{ Threa ...

  10. 基础知识《七》---Java多线程详解