又见素数(素数筛法)
又见素数
Time Limit:2000MS Memory Limit:65536K
Total Submit:287 Accepted:24
Description
给定一个正整数n(n <= 10000000),求n(包含)以内素数的个数。
Input
第一行为一个整数t(t <= 1000),表示测试数据的组数。
接下来有t行,每行一个整数n。
Output
对于每个n,求n以内素数的个数。
Sample Input
2 5 10
Sample Output
3 4
用了郭嵩山老师的《国际大学生程序设计例题解》上的改进的线性筛法。
原理是任何一个数都可以分解成素数相乘的形式。
#include <iostream> using namespace std; const int MAXN=10000001; bool isprime[MAXN]={0}; int prime[670000]; int init() { int i,j,total=0; memset(isprime,true,sizeof(isprime)); for(i=2;i<=MAXN;i++) { if(isprime[i]) prime[total++]=i; for(j=0;j<total && i*prime[j]<=MAXN;j++) { isprime[i*prime[j]]=false; if(i%prime[j]==0) break; } } return total; } int main() { int T,n,i,total; total=init(); scanf("%d",&T); while(T--) { scanf("%d",&n); for(i=0;i<total;i++) if(n<prime[i]) break; printf("%d/n",i); } return 0; }
又见素数(素数筛法)相关推荐
- 线性O(N)时间复杂度求素数 , 筛法
线性O(N)时间复杂度求素数 , 筛法 1 /* 2 线性时间求出1-N 的素数 , 时间复杂度为O( N) : 3 一个合数可以表示成若干个素数的积 4 比如说 i = 6 =2 * 3 , A = ...
- 输出100-200之间所有的素数(素数:只能被1和自己本身整除的数)
输出100-200之间所有的素数 素数:只能被1和自己本身整除的数 <script type="text/javascript">// 1. 输出100-200之间所有 ...
- ACMNO.17C语言-筛法求素数 用筛法求之N内的素数。
题目描述 用筛法求之N内的素数. 输入 N 输出 0-N的素数 样例输入 100 样例输出 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 7 ...
- 筛法求素数 素数打表
c++ #include<cstdio> #include<cstring> #include<cmath>//素数打表 ,时间复杂度:O(nlog n) char ...
- 洛谷OJ素数及其筛法刷题集
学会了线性筛.快速判断素数的读者可以在OJ上刷这些题了(后续将会完善补充) P3912 素数个数 P1835 素数密度 本题稍有难度,可以结合合数的性质来快速筛除区间内的合数,时间复杂度大致接近于区间 ...
- C/C++查找一定范围内的素数(筛法)
本文转自于:http://dalu.blogbus.com/logs/37977984.html 由于一个合数总是可以分解成若干个质数的乘积,那么如果把质数(最初只知道2是质数)的倍数都去掉,那么剩下 ...
- HDU 4548 美素数 素数题解
本题就是能够直接打表的,推断能否够打表也须要技巧的: 1 推断最大的数值为1000000.百万下面的数打表都是能够的 2 能够线性预处理好.使用素数筛子法是能够接近线性预处理的. 故此能够打表了. 须 ...
- c语言mn间有多少素数,素数表达式p=2a+1 (a ≠ 2mn+m+n)由此出发看哥猜、挛猜比较清晰...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 zzzvipsinacom的贴子:偶数2N+4至少可以表示为N/(2Sqr(2N+1))个素数对之和,其贡献在于:将模糊的哥猜.挛猜等问题,推演.变换成为 ...
- c语言三胞胎素数,素数、孪生素数、三胞胎素数、四胞胎素数分布规律:近似均匀分布...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本人这种观点很少有人认同,因为传统上认为素数越来越稀疏,而我且认为素数是近似平均分布,与传统观念背道而驰.很少有人相信,甚至有的专家对此评价为" ...
- 如何判断一个正整数是否是素数素数(Prime Number),又称质数,一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数;
def prime(x):''':type x: int'''# 请在此添加代码,实现判断一个数是否是素数# ********** Begin *********## n1=str(float(x)) ...
最新文章
- 【风之语】至贱城市之苏州
- golang install/build 生成的文件命名和路径
- Pytorch 加载和保存模型
- 记对一个key file crackme的破解
- 微型计算机惠普1hm20av,微型计算机原理及应用(答案).doc
- php 截取base64内容,PHP-从长文本中删除Base64字符串
- limesurvey php5.2,如何在Limesurvey Docker映像上安装php composer
- Vue+ bootStrap 实现员的增删改查 离职操作 全选单选
- transformer学习之残差网络
- 项目管理中风险控制的策略
- 随机从map中获取key值
- 【转载】通过搜狗站长平台手动向搜狗搜索提交文章加快收录
- 阿祥Python自学笔记
- CorelDraw插件开发-文字功能-文本分列-创建文本-函数分析-Cdr插件开发教程(二)
- Keil、uVision、RealView、MDK、Keil C51之间的区别
- SAP中参照采购协议发票校验时带出价格与协议当前价格不一致的案例分析
- java多线程之Single Threaded Execution模式
- 安全月报| PeckShield:9月共发生安全事件14起,损失近1,800万美元
- hadoop发行商介绍:Hortonworks
- b站前端大佬_那些在271有B站却没有的动漫,只有大佬才都看过!