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 whether the triangle is valid or not if angles are given

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.