# Prime Number code in C

## Prime Number Programs in C language

In this tutorial, we will learn how to check whether the given number is a prime number or not, and how to print all the prime number between two given numbers, using C programming language.

### What is a Prime Number?

A prime number is a number that can be divided only by one and the number itself. The prime numbers from 1 to 100 are 2, 3, 5, 7, 11, 13, 17, 19, 23, 29,..., 89, and 97.

Note: 0 and 1 are not accepted as prime numbers. And 2 is the only even prime number in all prime numbers.

**Program 1:**

A C program that uses a “**for”** loop to check if a specified number is a prime number:

```
#include <stdio.h>
int main()
{
int num, k, z = 0;
printf("Enter a number : ");
//put a number which we want to check whether it is prime number or not
scanf("%d", &num);
for (k = 2; k < num; k++)
{
if (num % k == 0)
{
z++;
break;
}
}
if (z == 1) {
printf("It is not a Prime number");
}
else {
printf("It is a Prime number");
}
return 0;
}
```

**Output:** (When we put 5 as input)

It is a Prime number

**Output:** (When we put 10 as input)

It is not a Prime number

**Description:**

- Given num = 5, any number should be considered.
- Take some variables and use the printf() function.
- Use the scanf() function to value from the user. This means that we want to know if the input is a prime number.
- A prime number is a type of number that can only be divided by 1 and the number itself. Therefore, we need to run a for loop where the iterator starts at 2 and runs to (num-1). It is checked if num is divided by any number from 2 to (num-1).
- When split, the code breaks out of the loop.
- Then we need to check if the loop is running completely. When the loop is complete, it will be primed. Otherwise, it will be compound or non-prime.
- The logic should be written as
- for (i = 2; i 2; i <5; i ++). Here, the loop continues until the value of i equals 5.
- Then we will use the `if` statement as well. If the condition is true, the "if" statement is executed.
- Otherwise, the "else" part is executed.

**Program 2:**

A C program that uses a **while** loop to check if a specified number is a prime number:

```
#include<stdio.h>
int main()
{
int n, p=0, z=2;
printf("Enter any number : ");
//put a number which we want to check whether it is prime number or not
scanf("%d", &n);
while(z<n)
{
if(n%z==0){
p++;
break;
}
z++;
}
if(p>0)
printf("It is not a prime number");
else
printf("It is a prime number");
return 0;
}
```

**Output:** (When we put 11 as input)

It is a Prime number

**Output:** (When we put 8 as input)

It is not a Prime number

**Description:**

- If num = 8, we need to consider any number.
- Take some variables and use the printf () function.
- Here we use the scanf() function to get the input from the user. This means that we want to know if the input is a prime number.
- A prime number is a type of number that can only be divided by 1 and the number itself. Therefore, we need to execute a while loop with the condition is running completely. When the loop is complete, it will be primed. Otherwise, it will be compound or non-prime.
- The logic is written as while (z & lt; n). Here, the loop continues until the value of z equals 8.
- Then we will use the `if` statement as well. If the condition is true, the "if" statement is executed.
- Otherwise, the "else" part is executed.

**Program 3:**

**C program to get the outputs of all prime numbers from 1 to 100:**

```
#include <stdio.h>
int main()
{
int q, p, c;
printf("All the prime numbers from 1 to 100 are : ");
for(p = 1; p <= 100; p++)
{
c = 0;
for (q= 2; q <= p/2; q++)
{
if(p%q== 0)
{
c++;
break;
}
}
if(c == 0 && p!= 1 )
{
printf(" %d ", p);
}
}
return 0;
}
```

**Output:**

All the prime numbers from 1 to 100 are : 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

**Program 4:**

**C Program to print prime numbers between two given numbers:**

```
#include <stdio.h>
int main() {
int first , last, check;
printf("Enter the two limits: ");
scanf("%d %d", &first, &last);
printf("The prime numbers which are in between of %d and %d are: ", first, last);
// iteration will go on until first is not equal to last
while (first < last) {
check = 0;
// ignore numbers less than 2
if (first <= 1) {
++first;
continue;
}
// if first is a non-prime number, check will be 1
for (int j = 2; j <= first / 2; ++j) {
if (first % j == 0) {
check = 1;
break;
}
}
if (check == 0)
printf("%d ", first);
// to check the next number is prime or not
// increase first by 1
++first;
}
return 0;
}
```

**Output:**

```
Enter the two limits: 5 15
The prime numbers which are in between of 5 and 15 are: 5 7 11 13
```