C program to display the prime numbers in between two intervals

In C programming, finding prime numbers between two intervals is a common problem that involves checking each number in the range for primality. A prime number is a natural number greater than 1 that has no positive divisors other than 1 and itself.

Syntax

for(i = start + 1; i < end; i++) {
    flag = 0;
    for(j = 2; j <= i/2; j++) {
        if(i % j == 0) {
            flag = 1;
            break;
        }
    }
    if(flag == 0) {
        // i is prime
    }
}

Example 1: Display Prime Numbers Between Two Intervals

The following program finds and displays all prime numbers between two given intervals −

#include <stdio.h>

int main() {
    int number1, number2, i, j, flag;
    
    printf("Enter the two intervals: ");
    scanf("%d %d", &number1, &number2);
    
    printf("Prime numbers between %d and %d:
", number1, number2); for(i = number1 + 1; i < number2; i++) { flag = 0; // Check if number is prime for(j = 2; j <= i/2; ++j) { if(i % j == 0) { flag = 1; break; } } // If flag is 0, number is prime if(flag == 0 && i > 1) printf("%d
", i); } return 0; }
Enter the two intervals: 10 50
Prime numbers between 10 and 50:
11
13
17
19
23
29
31
37
41
43
47

Example 2: Display Non-Prime Numbers Between Two Intervals

This program displays composite numbers (non-prime numbers) between two given intervals −

#include <stdio.h>

int main() {
    int number1, number2, i, j, flag;
    
    printf("Enter the two intervals: ");
    scanf("%d %d", &number1, &number2);
    
    printf("Non-prime numbers between %d and %d:
", number1, number2); for(i = number1 + 1; i < number2; i++) { flag = 0; // Check if number is prime for(j = 2; j <= i/2; ++j) { if(i % j == 0) { flag = 1; break; } } // If flag is 1, number is composite (non-prime) if(flag == 1) printf("%d
", i); } return 0; }
Enter the two intervals: 10 20
Non-prime numbers between 10 and 20:
12
14
15
16
18

How It Works

  • The outer loop iterates through each number in the given interval
  • For each number, the inner loop checks divisibility from 2 to number/2
  • If any divisor is found, the flag is set to 1 (composite number)
  • If no divisor is found, the flag remains 0 (prime number)
  • Numbers less than or equal to 1 are handled separately as they are not prime

Conclusion

Prime number detection between intervals uses a simple divisibility test with flag variables. The algorithm efficiently identifies prime and composite numbers by checking divisors up to half the number.

Updated on: 2026-03-15T13:21:04+05:30

10K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements