POJ 3518 Prime Gap 解题报告

简单的一道题。直接上代码。

#include <iostream> #include <cmath> using namespace std; bool isPrime(int n) { /*由于题目设定输入大于等于2,故不用再判断小于2的情况。*/ for(int i = 2; i <= sqrt(n); i++) { if(n % i == 0) return false; } return true; } int main() { int n; while(cin >> n, n != 0) { if(isPrime(n)) cout << 0 << endl; else { int x = n - 1; int y = n + 1; while(!isPrime(x)) x--; while(!isPrime(y)) y++; cout << y - x << endl; } } return 0; }

你可能感兴趣的:(POJ 3518 Prime Gap 解题报告)