codevs 2530大质数
链接: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大质数的更多相关文章
- 素数筛 codevs 1675 大质数 2
1675 大质数 2 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 小明因为没做作业而被数学 ...
- codevs——1530 大质数
1530 大质数 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 小明因为没做作业而被数学老师罚站,之后数学老师 ...
- codevs——1675 大质数 2
1675 大质数 2 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 小明因为没做作业而被数学老师罚站,之 ...
- Pollard Rho大质数分解学习笔记
目录 问题 流程 代码 生日悖论 end 问题 给定n,要求对n质因数分解 普通的试除法已经不能应用于大整数了,我们需要更快的算法 流程 大概就是找出\(n=c*d\) 如果\(c\)是素数,结束,不 ...
- Codevs 2009 大dota英雄 2013年省队选拔赛辽宁(状压DP)
2009 大dota英雄 2013年省队选拔赛辽宁 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 话说退役后的生活好无聊啊,以 ...
- 分解大质数模板(复杂度小于sqrt(n))
//POJ 1811 #include <cstdio> #include <cstring> #include <algorithm> #include < ...
- 数据结构--栈 codevs 1107 等价表达式
codevs 1107 等价表达式 2005年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Descripti ...
- LuoguP3792 由乃与大母神原型和偶像崇拜
题目地址 题目链接 题解 由乃题还是毒瘤啊orz 显然的一个结论是,如果保证不重复,维护区间min,max然后判断max-min+1==r-l+1是否成立即可 但是有重复 于是就要orz题解区的各位大 ...
- 【BZOJ】3751: [NOIP2014]解方程【秦九韶公式】【大整数取模技巧】
3751: [NOIP2014]解方程 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 4856 Solved: 983[Submit][Status ...
随机推荐
- webpack 教程 那些事儿01-webpack是什么
文章目录 1. 为什么引入webpack? 2. webpack到底是什么? 3. webpack的工作流程理念 4. webpack的使用 4.1. install webpack 5. 分享源码d ...
- HDU 4902 Nice boat 2014杭电多校训练赛第四场F题(线段树区间更新)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4902 解题报告:输入一个序列,然后有q次操作,操作有两种,第一种是把区间 (l,r) 变成x,第二种是 ...
- wor20161202
http://wenku.baidu.com/link?url=tWdw-Kgn_Ncr52ooBSL2J0y_ZJy3SvAXGv9Lu5UOKB333frE48hmkQ_5Pj9CJeCtGm7_ ...
- putty如何使用
使用putty连接管理centos 1 双击putty.exe2 和linux命令行一样了 使用psftp上传和下载 cd d:/psftppsftp open 10.0.0.9 输入用户密码root ...
- phpcms二层栏目下拉和当前栏目高亮
这里需要嵌套loop标签,既双层循环 第一层loop的catid = 0代表顶级栏目 第二层loop的catid = "$r[catid]"代表上层循环的栏目id <ul c ...
- 使用socket方式连接Nginx优化php-fpm性能
Nginx连接fastcgi的方式有2种:TCP和unix domain socket 什么是Unix domain socket?-- 维基百科 Unix domain socket 或者 IPC ...
- 【leetcode】Minimum Path Sum
Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top left to b ...
- c++数据类型和定义
我们都知道,刚开始学习数学的时候.乘法口诀.99乘法口诀.这个是大家都需要背的.背熟了这个,大家才能知道遇到算术题如何计算.这个99乘法口诀就是一种定义. 同样任何的语言都会有很多的定义.比如语文:各 ...
- ios Tabbar Item 的图标
1,tabBarItem图片的推荐尺寸和最大支持尺寸 下面是标签栏(UITabBar)中tab按钮图标分别在1x.2x.3x下不会压缩变形的尺寸: @1x : 推荐 25 x 25 (最大: 48 ...
- Core Data 多线程时多个context使用
原文地址:http://blog.csdn.net/willmomo/article/details/19759413 写的非常好!我这里截取一点重要的,备份,请去原地址阅读! 本人去年10月份才接触 ...