在本教程中,我们将编写一个程序来查找与给定 n 最接近的素数。这是一个简单的问题。
让我们看看解决问题的步骤。
初始化数字 n。
编写一个从 n - 1 到 1 迭代的循环
返回您找到的第一个质数
如果没有找到任何小于给定 n 的素数,则返回 -1
让我们看看代码。
#include <bits/stdc++.h> using namespace std; bool isPrime(int n) { if (n == 2) { return true; } for (int i = 2; i <= ceil(sqrt(n)); i++) { if (n % i == 0) { return false; } } return true; } int getNearestPrimeNumber(int n) { for (int i = n - 1; i > 1; i--) { if (isPrime(i)) { return i; } } return -1; } int main() { int n = 20; cout << getNearestPrimeNumber(n) << endl; return 0; }输出结果
如果你运行上面的代码,那么你会得到下面的结果。
19