Sicily 1500. Prime Gap
2015-04-14 14:28
148 查看
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 numbers p 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
Copy sample input to clipboard
Sample Output
The sequence of n ? 1 consecutive composite numbers (positive integers that are not prime and not equal to 1) lying between two successive prime numbers p 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
Copy sample input to clipboard
10 11 27 2 492170 0
Sample Output
4 0 6 0 114
Problem Source: Tokyo 2007
// Problem#: 1500 // Submission#: 3685345 // The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License // URI: http://creativecommons.org/licenses/by-nc-sa/3.0/ // All Copyright reserved by Informatic Lab of Sun Yat-sen University #include<iostream> #include<iomanip> #include<string> #include<cstdio> #include<cctype> #include<cstring> #include<algorithm> #include<cmath> using namespace std; int prime[100001]; bool isPrime(int n){ for(int i=2;i<=sqrt(double(n));i++) if(n%i==0) return false; return true; } void getPrime(){ int l=0; for(int i=2;i<=1299709;i++) if(isPrime(i)) prime[l++]=i; } int main(){ getPrime(); int k; while(cin>>k&&k){ int i=0; for(;i<100000;i++) if(prime[i]>=k) break; if(prime[i]==k) cout<<0<<endl; else cout<<prime[i]-prime[i-1]<<endl; } return 0; }
相关文章推荐
- sicily 1500. Prime Gap
- sicily--1500. Prime Gap
- [sicily]1500. Prime Gap
- sicily 1500. Prime Gap
- Sicily 1119. Factstone Benchmark
- sicily 1027 MJ, Nowhere to Hide
- Sicily 1325. Digit Generator
- sicily 猴子选大王
- Sicily 2005. Lovely Number
- Sicily 2369. Nim-B Sum
- Sicily 4835. Numbersrebmun
- Sicily 1176 Two Ends
- Sicily 1153 马的周游问题[Special judge] && sicily 1152
- Sicily 2376. Cutting The Cake
- Sicily 2609/1954. Bracket Expression
- Sicily 1950. Brain Teasers
- Sicily 1907. Collision Detection
- Sicily 1829/1948. Largest Area
- Sicily 1219. 新红黑树
- Sicily 1718. University Rankings