C++ Program to check Prime Number
Given a positive integer, check if the number is prime or not. A prime is a natural number greater than 1 that has no positive divisors other than 1 and itself. Examples of first few prime numbers are {2, 3, 5,
Examples:
Input: n = 11 Output: true Input: n = 15 Output: false Input: n = 1 Output: false
// A school method based C++ program to check if a // number is prime #include <bits/stdc++.h> using namespace std; bool isPrime( int n) { // Corner case if (n <= 1) return false ; // Check from 2 to n-1 for ( int i = 2; i < n; i++) if (n % i == 0) return false ; return true ; } // Driver Program to test above function int main() { isPrime(11) ? cout << " true\n" : cout << " false\n" ; isPrime(15) ? cout << " true\n" : cout << " false\n" ; return 0; } |
Output:
true false
Time complexity of this solution is O(n)
Optimized School Method
// A optimized school method based C++ program to check // if a number is prime #include <bits/stdc++.h> using namespace std; bool isPrime( int n) { // Corner cases if (n <= 1) return false ; if (n <= 3) return true ; // This is checked so that we can skip // middle five numbers in below loop if (n % 2 == 0 || n % 3 == 0) return false ; for ( int i = 5; i * i <= n; i = i + 6) if (n % i == 0 || n % (i + 2) == 0) return false ; return true ; } // Driver Program to test above function int main() { isPrime(11) ? cout << " true\n" : cout << " false\n" ; isPrime(15) ? cout << " true\n" : cout << " false\n" ; return 0; } |
Output:
true false
Please refer complete article on Primality Test | Set 1 (Introduction and School Method) for more details!
Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.