Learn how to write a C program to effectively check whether a number is prime or not with our simple and easy-to-follow tutorial. In this guide, you'll learn to write a C program to find whether a number is prime or not. We will break down each step for easy understanding.

## What is a Prime Number?

A prime number is a natural number that can only be divided by 1 and itself as a factor. It means it has no other factors and cannot be divided evenly by other numbers. Prime numbers play a vital role in various applications, including cryptography, coding theory, and other fields, due to their unique properties.

Examples of prime numbers:

2, 3, 5, 7, 11, and 13 are a few prime numbers. These numbers can only be divided evenly by 1 or themselves, so they are prime numbers.

## Prime Number Check Program in C

Program:

```
#include <stdio.h>
#include <math.h> // Necessary for the sqrt function
int main() {
int n, i, c = 0;
printf("Enter any number: ");
scanf("%d", &n);
// Immediate check for numbers less than 2
if (n <= 1) {
printf("%d is not a Prime number.\n", n);
return 0;
}
// Logic to check if the number is prime
// Loop only up to the square root of n to find factors of n
for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
c++; // Factor found
break;
}
}
if (c == 0) {
printf("%d is a Prime number.\n", n); // If no factors found, n is prime
} else {
printf("%d is not a Prime number.\n", n); // Otherwise, n is not prime
}
return 0;
}
```

Program Output:

```
Enter any number: 7
7 is a Prime number.
```

Explanation:

Consider a number `n=29`

.

The program first checks if the number is less than or equal to 1. If so, it is not a prime. Otherwise, it proceeds to the loop.

The loop `for(i=2; i<=sqrt(n); i++)`

is executed until the value of `i`

exceeds the square root of `n`

.

**1st Iteration**:

`i = 2`

Here, the program checks if`n`

modulo`i`

equals 0.

29%2 != 0; thus,`c`

is not incremented and remains 0.

`i`

is incremented for the next iteration, so`i = 3`

.**2nd Iteration**:

`i = 3`

Here, if`n % i == 0`

, then`c`

would be incremented.

29%3 != 0; thus,`c`

is not incremented and remains 0.

`i`

is incremented for the next iteration, so`i = 4`

.**3rd Iteration**:

`i = 4`

Here, if`n % i == 0`

, then`c`

would be incremented.

29%4 != 0; thus,`c`

is not incremented and remains 0.

`i`

is incremented for the next iteration, so`i = 5`

.**4th Iteration**:

`i = 5`

Here, if`n % i == 0`

, then`c`

would be incremented.

29%5 != 0; thus,`c`

is not incremented and remains 0.

`i`

is incremented for the next iteration, so`i = 6`

.

This pattern continues. However, since the loop only runs up to the square root of `n`

, it will stop after checking `i = 5`

as the square root of 29 is approximately 5.39.

By the end of the loop, if `c`

is still 0, it means that `n`

was not divisible by any of the checked numbers and is, therefore, prime.

Since `c`

remains 0 throughout the iterations for our chosen `n=29`

, the program concludes that `n=29`

is a prime number.

## Conclusion

This tutorial has shown you how to write a C program to check whether a number is prime or not effectively. This prime number code in C is efficient and easy to understand, and it can be used to check for prime numbers of any size.