描述在素数的大家庭中大小之差为 2 的两个素数称之为一对孪生素数如 3 和 5、17 和 19 等。请你编程统计出不大于自然数 n 的素数中孪生素数的对数。输入描述一行一个正整数 n 。输出描述若干行每行两个整数之间用一个空格隔开从小到大输出每一对孪生素数。用例输入 1 100用例输出 1 3 55 711 1317 1929 3141 4359 6171 73cpp
#include
bool isPrime(int num) { if (num <= 1) { return false; } for (int i = 2; i * i <= num; i++) { if (num % i == 0) { return false; } } return true; }
int main() { int n; cin >> n;
vector<pair<int, int>> twinPrimes;
for (int i = 3; i <= n; i++) {
if (isPrime(i) && isPrime(i + 2)) {
twinPrimes.push_back(make_pair(i, i + 2));
}
}
for (int i = 0; i < twinPrimes.size(); i++) {
cout << twinPrimes[i].first << " " << twinPrimes[i].second << endl;
}
return 0;
原文地址: http://www.cveoy.top/t/topic/iIml 著作权归作者所有。请勿转载和采集!