- The Modern C++ Challenge
- Marius Bancila
- 149字
- 2021-06-25 22:01:23
4. Largest prime smaller than given number
A prime number is a number that has only two pisors, 1 and the number itself. To find the largest prime smaller than a given number you should first write a function that determines if a number is prime and then call this function, starting from the given number, towards 1 until the first prime is encountered. There are various algorithms for determining if a number is prime. Common implementations for determining the primality appear as follows:
bool is_prime(int const num)
{
if (num <= 3) { return num > 1; }
else if (num % 2 == 0 || num % 3 == 0)
{
return false;
}
else
{
for (int i = 5; i * i <= num; i += 6)
{
if (num % i == 0 || num % (i + 2) == 0)
{
return false;
}
}
return true;
}
}
This function can be used as follows:
int main()
{
int limit = 0;
std::cout << "Upper limit:";
std::cin >> limit;
for (int i = limit; i > 1; i--)
{
if (is_prime(i))
{
std::cout << "Largest prime:" << i << std::endl;
return 0;
}
}
}
推薦閱讀
- Learning Cython Programming
- Mastering Swift 2
- Spring Boot企業級項目開發實戰
- BeagleBone Black Cookbook
- OpenGL Data Visualization Cookbook
- Rust游戲開發實戰
- Visual Basic程序設計(第三版)
- Everyday Data Structures
- Oracle實用教程
- NGUI for Unity
- 大學計算機應用基礎(Windows 7+Office 2010)(IC3)
- R的極客理想:量化投資篇
- HTML5+CSS3+jQuery Mobile+Bootstrap開發APP從入門到精通(視頻教學版)
- Implementing Domain:Specific Languages with Xtext and Xtend
- Zend Framework 2 Cookbook