# C++ Program to check Prime Number

• Difficulty Level : Easy
• Last Updated : 29 Apr, 2022

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 the first few prime numbers are {2, 3, 5, Examples:

Input:  n = 11
Output: true

Input:  n = 15
Output: false

Input:  n = 1
Output: false

## CPP

 `// A school method based C++ program to check if a``// number is prime``#include ``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: O(n)
Auxiliary Space: O(1)

Optimized School Method

## CPP

 `// A optimized school method based C++ program to check``// if a number is prime``#include ``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``;` `    ``// Using concept of prime number``    ``// can be represented in form of``    ``// (6*n + 1) or(6*n - 1) hence``    ``// we have to go for every multiple of 6 and``    ``// prime number would always be 1 less or 1 more then``    ``// the multiple of 6.``    ``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(4191) ? cout << ``" true\n"` `: cout << ``" false\n"``;``    ``isPrime(15) ? cout << ``" true\n"` `: cout << ``" false\n"``;``    ``return` `0;``}`
Output
``` false
false
```

Please refer complete article on Primality Test | Set 1 (Introduction and School Method) for more details!

My Personal Notes arrow_drop_up