POJ 3518
来源:互联网 发布:php商城开发视频教程 编辑:程序博客网 时间:2024/05/21 10:51
Description
The sequence of n − 1 consecutive composite numbers (positive integers that are not prime and not equal to 1) lying between two successive prime numbersp and p + n is called a prime gap of length n. For example, ‹24, 25, 26, 27, 28› between 23 and 29 is a prime gap of length 6.
Your mission is to write a program to calculate, for a given positive integer k, the length of the prime gap that contains k. For convenience, the length is considered 0 in case no prime gap contains k.
Input
The input is a sequence of lines each of which contains a single positive integer. Each positive integer is greater than 1 and less than or equal to the 100000th prime number, which is 1299709. The end of the input is indicated by a line containing a single zero.
Output
The output should be composed of lines each of which contains a single non-negative integer. It is the length of the prime gap that contains the corresponding positive integer in the input if it is a composite number, or 0 otherwise. No other characters should occur in the output.
Sample Input
10112724921700
Sample Output
4060114
//D#include <set>#include <map>#include <stack>#include <cmath>#include <queue>#include <cstdio>#include <string>#include <vector>#include <iomanip>#include <cstring>#include <iostream>#include <algorithm>#include <iostream>#define N 1299709using namespace std;int p[1299709];int pn[100000];//素数打表void prim_num(){ int i,j,n; for(i=1; i<=N; i++) p[i]=true; n=(int)sqrt(N); for(i=2; i<=n; i++) { for(j=i+i; j<=N; j+=i) { p[j]=false; } } j=1; for(i=1; i<=N; i++) { if(p[i]) { pn[j++]=i; } }}int f(int x){ if(x == 0|| x == 1 ) return 0; int w; for( w = 2 ; w<= sqrt(x);w++) { if(x % w == 0) break; } if(w > sqrt(x)) return 1 ; else return 0;}int main(){ prim_num(); int n ; while(cin >> n) { if(n == 0) break; if(f(n)) cout << "0\n"; else { int m; m = lower_bound(pn,pn+100000,n) - pn; cout << pn[m]-pn[m-1]<< endl; } } return 0;}
- POJ 3518
- POJ 3518
- POJ 3518
- POJ 3518
- poj 3518 Prime Gap
- poj 3518 Prime Gap
- POJ-3518-Prime Gap
- poj 3518 Prime Gap
- poj 3518(二分)
- POJ 3518 Prime Gap
- poj 3518 prime jap
- POJ - 3518 Prime Gap
- POJ 【3518】 Prime Gap
- poj 3518 Prime Gap
- POJ 3518 Prime Gap
- POJ 3518 Prime Gap
- POJ 3518 Prime Gap
- POJ
- POJ 3273
- March'English Learning
- 算法导论 第23章 最小生成树 斐波那契堆实现优先队列
- java学习---------IO流学习---文件流inputstream outputstream(三)实现文件和文件夹的复制 删除
- 第三周项目3-程序的多文件组织
- POJ 3518
- 安卓学习笔记--Intent的属性action和category
- 小马哥-----高仿米4拆机 刷机主板多图展示 主板为x77 型号k6 6582芯片 14年底版本
- 前二章作业
- Principles of Computing (Part 1) -- Week 5 Mini-projects: Cookie Clicker Simulator
- 抢用户,搜狗又出新招
- 成就优秀程序员的很多因素你知道多少?
- socket编程的select模型
- 编程小练习(6)