SDUT 3002-素数间隙(素数筛+暴力)
素数间隙
Time Limit: 1000ms Memory limit: 262144K 有疑问?点这里^_^
题目描写叙述
Neko猫是一个非常喜欢玩数字游戏的会说话的肥猫,常常会想到非常多非常好玩的数字游戏。有一天,它想到一个叫做素数间隙的游戏。据Neko猫的定义,素数间隙是两个相邻素数p和q组成的开区间[p, q)。所以素数间隙的长度就是q-p。
比如7和11在素数表里是两个相邻的素数。所以7和11的素数间隙的长度为11-7,为4。
如今Neko猫会给你非常多个正整数K(1<K≤1299710),让你能立马求出包括数字K的素数间隙的长度。
为方便起见。假设K是素数,则输出0。
输入
输入包括T组数据(1≤T≤1000)。每组測试数据占一行。是一个正整数K(1<K≤1299710)。
输出
输出T行,每行一个非负数。这个非负数是包括输入数字K的素数间隙的长度。不应有其它字符出如今输出中。
演示样例输入
10
11
27
2
492170
演示样例输出
4
0
6
0
114
水一发睡觉。。
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <string>
#include <cctype>
#include <vector>
#include <cstdio>
#include <cmath>
#include <deque>
#include <stack>
#include <map>
#include <set>
#define ll long long
#define maxn 1299730
#define pp pair<int,int>
#define INF 0x3f3f3f3f
#define max(x,y) ( ((x) > (y)) ? (x) : (y) )
#define min(x,y) ( ((x) > (y)) ? (y) : (x) )
using namespace std;
int pri[maxn],n;
void init()
{
memset(pri,1,sizeof(pri));
pri[1]=0;
for(int i=2;i<maxn;i++)
{
if(pri[i])
{
for(int j=2;j*i<maxn;j++)
pri[i*j]=0;
}
}
}
int main()
{
init();
while(~scanf("%d",&n))
{
if(pri[n])
{
puts("0");
continue;
}
int l=n,r=n;
while(!pri[--l]);
while(!pri[++r]);
printf("%d\n",r-l);
}
return 0;
}
SDUT 3002-素数间隙(素数筛+暴力)的更多相关文章
- hdu2098 分拆素数和 素数筛
将一个偶数拆成两个素数的和,欧拉筛暴力 #include<stdio.h> #include<string.h> #define N 10001 ]; ]; ,j; void ...
- 青岛理工交流赛 H题 素数间隙
13110581088注销 素数间隙 Time Limit: 1000MS Memory limit: 262144K 题目描述 Neko猫是一个很喜欢玩数字游戏的会说话的肥猫,经常会想到很多很好玩的 ...
- hdu5943素数间隙与二分匹配
题意: 给出n和s,匹配(s+1,s+2,s+3......s+n)和(1,2,3,4,5........n)让(s+x)%x==0,判断是否有解 思路: 先用程序跑一边,发现1到1e9得素数间隙小于 ...
- HDU 2098 分拆素数和(素数)
HDU 2098 分拆素数和(素数) http://acm.hdu.edu.cn/showproblem.php?pid=2098 题意: 给你一个偶数,问你这个偶数有多少种方式能由两个不同的素数构成 ...
- BestCoder Round #85 hdu5778 abs(素数筛+暴力)
abs 题意: 问题描述 给定一个数x,求正整数y,使得满足以下条件: 1.y-x的绝对值最小 2.y的质因数分解式中每个质因数均恰好出现2次. 输入描述 第一行输入一个整数T 每组数据有一行,一个整 ...
- HDU 5778 abs (BestCoder Round #85 C)素数筛+暴力
分析:y是一个无平方因子数的平方,所以可以从sqrt(x)向上向下枚举找到第一个无平方因子比较大小 大家可能觉得这样找过去暴力,但实际上无平方因子的分布式非常密集的,相关题目,可以参考 CDOJ:无平 ...
- 【素数的判定-从暴力到高效】-C++
今天我们来谈一谈素数的判定. 对于每一个OIer来说,在漫长的练习过程中,素数不可能不在我们的眼中出现,那么判定素数也是每一个OIer应该掌握的操作,那么我们今天来分享几种从暴力到高效的判定方法. 1 ...
- hdu 1431 素数回文(暴力打表,埃托色尼筛法)
这题开始想时,感觉给的范围5 <= a < b <= 100,000,000太大,开数组肯定爆内存,而且100000000也不敢循环,不超时你打我,反正我是不敢循环. 这题肯定得打表 ...
- 素数的线性筛 && 欧拉函数
O(n) 筛选素数 #include<bits/stdc++.h> using namespace std; const int M = 1e6 + 10 ; int mindiv[M] ...
随机推荐
- python+selenium九:ddt数据驱动
第一种,测试数据放在Excel里面 test_Login: import unittestimport timeimport ddtimport osfrom selenium import webd ...
- python接口自动化测试十七:使用bs4框架进行简单的爬虫
安装:beautifulsoup4 from bs4 import BeautifulSoup yoyo = open('yoyo.html', 'r') # 以读的方式打开“yoyo.html” ...
- python 全栈开发,Day29(昨日作业讲解,模块搜索路径,编译python文件,包以及包的import和from,软件开发规范)
一.昨日作业讲解 先来回顾一下昨日的内容 1.os模块 和操作系统交互 工作目录 文件夹 文件 操作系统命令 路径相关的 2.模块 最本质的区别 import会创建一个专属于模块的名字, 所有导入模块 ...
- Java 使用Jedis连接Redis数据库(-)
redis 安装: Linux 安装redis 1)下载jar包: 使用Jedis需要以下两个jar包: jedis-2.8.0.jar commons-pool2-2.4.2.jar 2)测试red ...
- hive遇到FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误
hive遇到FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误 起因 ...
- BZOJ 4767 两双手
题解: 发现这种题目虽然可以想出来,但磕磕碰碰得想挺久的 根据数学可以知道组成方案是唯一的(集合) 然后发现每个使用的大小可能是接近n^2的 直接dp(n^4)是过不了的 那么先观察观察 我们可以把每 ...
- centos6.9上mongdb安装
一.设置yum源 vi /etc/yum.repos.d/mongodb.repo [mongodb-org-3.2] name=MongoDB Repository baseurl=https:// ...
- BZOJ1296 [SCOI2009]粉刷匠 动态规划 分组背包
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1296 题意概括 有 N 条木板需要被粉刷. 每条木板被分为 M 个格子. 每个格子要被刷成红色或蓝 ...
- 常见的CSS Hack
原文地址: 小昱博客 - 常见的CSS Hack 转载请注明出处,谢谢! 什么是CSS hack 由于不同厂商的流览器或某浏览器的不同版本(如IE6-IE11,Firefox/Safari/Opera ...
- spark加载模型与gRPC与JSF与JDQ冲突
spark与JSF冲突解决方式 <dependency> <groupId>org.apache.spark</groupId> <artifactId> ...