Given a positive integer . The task is to write a C program to check if the number is **prime or not**.

**Definition**:

A

prime numberis a natural number greater than 1 that has no positive divisors other than 1 and itself. The first few prime numbers are {2, 3, 5, 7, 11, ….}

The idea to solve this problem is to iterate through all the numbers starting from 2 to sqrt(N) using a for loop and for every number check if it divides N. If we find any number that divides, we return false. If we did not find any number between 2 and sqrt(N) which divides N then it means that N is prime and we will return True.

Why did we choose sqrt(N)?

The reason is that the smallest and greater than one factor of a number cannot be more than the sqrt of N. And we stop as soon as we find a factor. For example, if N is 49, the smallest factor is 7. For 15, smallest factor is 3.

Below is the C program to check if a number is prime:

`// C program to check if a ` `// number is prime ` ` ` `#include <stdio.h> ` `#include<math.h> ` `int` `main() ` `{ ` ` ` `int` `n, i, flag = 1; ` ` ` ` ` `// Ask user for input ` ` ` `printf` `(` `"Enter a number: \n"` `); ` ` ` ` ` `// Store input number in a variable ` ` ` `scanf` `(` `"%d"` `, &n); ` ` ` ` ` `// Iterate from 2 to n/2 ` ` ` `for` `(i = 2; i <= ` `sqrt` `(n); i++) { ` ` ` ` ` `// If n is divisible by any number between ` ` ` `// 2 and n/2, it is not prime ` ` ` `if` `(n % i == 0) { ` ` ` `flag = 0; ` ` ` `break` `; ` ` ` `} ` ` ` `} ` ` ` ` ` `if` `(n<=1) ` ` ` `flag=0; ` ` ` `else` `if` `(n==2) ` ` ` `flag=1; ` ` ` ` ` `if` `(flag == 1) { ` ` ` `printf` `(` `"%d is a prime number"` `, n); ` ` ` `} ` ` ` `else` `{ ` ` ` `printf` `(` `"%d is not a prime number"` `, n); ` ` ` `} ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

**Output**:

Enter a number: 11 11 is a prime number

## Recommended Posts:

- Check whether the sum of prime elements of the array is prime or not
- Python program to check whether a number is Prime or not
- Check whether a number is circular prime or not
- Check whether the given number is Wagstaff prime or not
- Check whether N is a Dihedral Prime Number or not
- Check whether a number is Good prime or not
- Check whether the sum of absolute difference of adjacent digits is Prime or not
- Check whether the given numbers are Cousin prime or not
- Check whether count of distinct characters in a string is Prime or not
- Check whether the frequencies of all the characters in a string are prime or not
- C Program to check whether a number is a Perfect Cube or not
- Check whether the given number is Euclid Number or not
- Check whether given number N is a Moran Number or not
- C program to check whether the file is JPEG file or not
- Check whether a number has exactly three distinct factors or not
- Check whether a number is semiprime or not
- Check whether a number is Emirpimes or not
- Check if a prime number can be expressed as sum of two Prime Numbers
- Check if a number is Prime, Semi-Prime or Composite for very large numbers
- Check if a number is a Pythagorean Prime or not

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.