NUC1931 Problem D 区间素数【素数筛选】
Problem D 区间素数
时间限制: 1000ms 内存限制: 65535KB
问题描述
给定一个闭区间[L,R],求区间中所包含的素数的个数。
输入描述
有空格分隔开的两个正整数L,R(1≤L≤R≤1000)。
输出描述
闭区间[L,R]中所包含的素数的个数。
样例输入
3 6
样例输出
2
提示
闭区间[3,6]之间包含两个素数3,5
问题分析:
这个题与《NUC1019 数素数》几乎相同,只是输入格式不同。
测试用例很多的时候是个坑,所以打表是必须的。
首先用Eratosthenes筛选法求得必要的素数,然后统计个数备用。
程序说明:
数组prime[]开始时存放素数,然后该存放素数的计数值(为了节省空间),prime[i]表示从1开始到i(包括i)的素数个数。
需要注意程序的结束条件,读到EOF时程序结束,判定EOF是个关键。
cin语句判定是否读到EOF的方法见程序。
参考链接:
NUC1019 数素数
NUC1921 E.迷雾森林
题记:
无聊凑个数而已!
AC的C++程序如下:
#include <iostream>
#include <cmath>using namespace std;const int N = 1000000;
int prime[N+1];// Eratosthenes筛选法
void sieveofe(int p[], int n)
{int i, j;p[0] = 0;p[1] = 0;p[2] = 1;// 初始化for(i=3; i<n; i++) {p[i++] = 1;p[i] = 0;}int max = sqrt(n);for(i=3; i<=max; i++){if(p[i]) {for(j=i+i; j<=n; j+=i) //进行筛选p[j]=0;}}
}void primecount(int p[], int n)
{int sum = 0;for(int i=0; i<=n; i++) {if(prime[i])sum++;p[i] = sum;}
}int main()
{int m, n;sieveofe(prime, N);primecount(prime, N);for(;;) {if(!(cin >> m >> n))break;cout << prime[n] - prime[m-1] << endl;}return 0;
}
NUC1931 Problem D 区间素数【素数筛选】相关推荐
- python acm 素数个数_湘潭大学OJ-1098求区间内素数个数问题
求区间内素数个数问题 题目描述 Description 给定两个非负整数a,b,其中0<= a,b<=1,000,000,请计算这两个数之间有多少个素数.限制:Time Limit : 1 ...
- 统计素数并求和 (20 分)本题要求统计给定整数M和N区间内素数的个数并对它们求和。
本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以 ...
- 要求统计给定整数M和N区间内素数的个数,并对所有素数求和。
题目内容: 要求统计给定整数M和N区间内素数的个数,并对所有素数求和. 其中两数必须满足条件: . 如果输入的M和N不能满足以上条件,则提示"输入数据错误". 输入格式: 在一行中 ...
- 本题要求统计给定整数M和N区间内素数的个数并对它们求和。
本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以 ...
- c语言三胞胎素数,素数、孪生素数、三胞胎素数、四胞胎素数分布规律:近似均匀分布...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本人这种观点很少有人认同,因为传统上认为素数越来越稀疏,而我且认为素数是近似平均分布,与传统观念背道而驰.很少有人相信,甚至有的专家对此评价为" ...
- 输出100-200之间所有的素数(素数:只能被1和自己本身整除的数)
输出100-200之间所有的素数 素数:只能被1和自己本身整除的数 <script type="text/javascript">// 1. 输出100-200之间所有 ...
- 区间内素数的个数(也要用到埃氏算法)
题目大意:给定正整数a和b,请问区间[a,b)内有多少个素数 限制条件:a<b<=10^12 b-a<=10^6 样例: 22 37 3 22801763489 2280178 ...
- 筛指定区间的素数[区间偏移二次筛法]
引入问题: 给定两个整数L和U,你需要在闭区间[L,U]内找到距离最接近的两个相邻质数C1和C2(即C2-C1是最小的),如果存在相同距离的其他相邻质数对,则输出第一对. 同时,你还需要找到距离最远的 ...
- c语言筛选法求100之内素数,用筛选法求100之内的素数。
/*用筛选法求给出范围之内的素数.*/ #include #include int isPrime(int n){//判断素数 for(int i = 2; i < n; i ++){ if(n ...
最新文章
- BPM实例分享:如何设置开窗高度与宽度?
- BZOJ 2788[Poi2012]Festival
- jan java c 生成 dll_Java配置----JDK开发环境搭建及环境变量配置
- maven版本控制实战
- bmp转换tiff c++代码_Creative Convert for Mac(文件格式转换工具)
- python函数的 全局变量与局部变量
- 40幅五彩缤纷的秋天风景摄影作品欣赏(上篇)
- [翻译]API Guides - Bound Services
- 计算机一级资料书推荐,推荐版 全国计算机一级考试试题【史上最全面的资料,不看你就亏!】.doc...
- webpack打包原理
- oracle 11g 完美卸载,oracle 11g完美卸载
- oracle写完存储过程之后,oracle存储过程和自定义函数
- 1.5T和2.0L哪个好?
- Altium AD20开槽处铺铜出现大面积空白区域的解决方法
- 拓端tecdat|【视频】Rapidminer关联规则和文本挖掘模型对评论数据进行分析
- FPGA基础知识(四)UG902 RTL仿真与输出
- 移动端element日期插件不弹软键盘
- 抖音记事本代码html,抖音上用记事本编写爱心小程序教程
- Ms08067联合360漏洞响应平台(SRC)送给白帽子20本“精选的10本安全好书”
- 腾讯云短信功能初步使用
热门文章
- ArcGIS Maritime Server 开发教程(四)Maritime Service 开发实践
- ShoeBox一个超级好用的图片切割工具
- AS3的事件模型 .
- table多行表头合并 vue_vue elementUI table 自定义表头和行合并的实例代码
- git忽略文件或者文件夹
- Android集成JPush(极光推送)
- IDEA 查看源码快捷键
- php shell ddos,用shell解决ddos攻击实例
- clone远程代码 在不同电脑上git_Git 如何 clone 远程 非 master 分支的代码
- 剑指offer面试题58 - I. 翻转单词顺序(双指针)