相差為 2 的兩個素數,如 (3,5)、(11,13)。
#include
#include
using namespace std;
bool isPrime(int num) {
if (num <= 1) return false;
if (num == 2) return true;
if (num % 2 == 0) return false;
for (int i = 3; i <= sqrt(num); i += 2) {
if (num % i == 0) return false;
}
return true;
}
int main() {
int prevPrime = 2;
for (int p = 3; p <= 100; p += 2) { // 偶數除2外非素數
if (isPrime(p)) {
if (p - prevPrime == 2) {
cout << "(" << prevPrime << ", " << p << ")" << endl;
}
prevPrime = p;
}
}
return 0;
}
(3, 5)
(5, 7)
(11, 13)
(17, 19)
(29, 31)
(41, 43)
(59, 61)
(71, 73)
sqrt(n),跳過偶數。