POJ
来源:互联网 发布:微信公众平台seo 编辑:程序博客网 时间:2024/05/29 11:14
给出一个数字n,求n所在得一个区间的长度,区间是最近的两个素数为边界;
那么n如果为素数的话,那么直接输出0;
先打表,因为用的是前10万个素数,所以在打表的时候,记录素数的个数;
以n点为中心向两边判定,一定要先判定再加减;
#include<iostream>#include<cstring>#include<cmath>#define ll long long#define MAXN 10000005#define maxn 100005using namespace std;bool isprime[MAXN];ll num = 0;void checkprime() { memset(isprime, true, sizeof(isprime)); num++;//因为2也是素数 for(ll i = 2; num <= maxn; i++) { if(isprime[i]) { num++;//如果没有标记的话就是素数,标记个数 for(ll j=i+i; j <= MAXN; j+=i) {//以i为倍数的数都是偶数,都不是素数,全部筛除 isprime[j] = false; } } }}int main () { int n; checkprime(); while(cin >> n && n) { int ans = 1; if(isprime[n]) puts("0"); else { int l = n-1, r = n;//预处理向左 while(!isprime[l]) {//向左 l--; ++ans; } while(!isprime[r]) {//向右 r++; ++ans; } printf("%d\n", ans); } } return 0;}
阅读全文
0 0
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- MySQL的语法(1) 170923
- Sax解析和Pull解析的使用方法
- HTTP协议常用字段
- A标签实现文件下载以及INPUT隐藏边框样式
- Algorithm 头文件中的算法
- POJ
- Android抽象布局——include、merge 、ViewStub
- 批处理去除指定字符前所有的0
- 二分法找中位数
- Go游戏服务器开发的一些思考(十三):behavior3go的一些坑(备忘)
- L1-009. N个数求和
- 设计模式之迭代器模式
- Xilinx ZYNQ 7000+Vivado2015.2系列(二)之奇数分频和逻辑分析仪(ILA)的使用
- 如果一个网站后台能有机会接触到用户的明文密码,那就是流氓行为!