筛法选素数。
#include <iostream>
#include <cstdio>
#define MAXN 2333333
using namespace std;
int per[MAXN] = {1, 1};
void sul_per() {
for(int i = 2; i <= 1300000; i++)
if(!per[i]&& i * 2 <= 1300000)
for(int j = 2; j * i <= 1300000; j++)
per[j * i] = 1;
}
int main() {
int x;
sul_per();
while(cin >> x&& x) {
if(!per[x]) {cout << "0" << "\n"; continue;}
int l = x;
int r = x;
while(per[++l]);
while(per[--r]);
cout << l - r << "\n";
}
return 0;
}