Prime Gap
Time Limit : 10000/5000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other)
Total Submission(s) : 1 Accepted Submission(s) : 1
Problem Description
<p>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 <i>p</i> and <i>p</i> + <i>n</i> is called a prime gap of length <i>n</i>. For example, 24, 25, 26, 27, 28 between 23 and 29 is a prime gap of length 6.</p><p>Your mission is to write a program to calculate, for a given positive integer <i>k</i>, the length of the prime gap that contains <i>k</i>. For convenience, the length is considered 0 in case no prime gap contains <i>k</i>.</p>
Input
<p>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.</p>
Output
<p>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.</p>
Sample Input
10 11 27 2 492170 0
Sample Output
4 0 6 0 114
Source
PKU