A prime number is defined as a number greater than 1, having no positive divisors other than 1 and itself. In C programming, creating a program to find prime numbers between two intervals can be an excellent exercise to understand loops and conditional statements.
In this article, you will learn how to develop a C program that efficiently displays all the prime numbers between two provided intervals. You will explore different examples and see how simple alterations in the approach can affect performance and readability.
Create a function to check whether a number is prime. This function returns 1
if the number is prime and 0
otherwise.
#include <stdio.h>
int isPrime(int num) {
if (num <= 1) return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return 0;
}
return 1;
}
This function initially checks if the number is less than or equal to 1, as these are not prime. It then checks divisibility from 2
to the square root of the number, returning 0
if any divisor is found.
Implement the main function which prompts the user for two intervals and displays prime numbers between them.
int main() {
int low, high;
printf("Enter two numbers(intervals): ");
scanf("%d %d", &low, &high);
printf("Prime numbers between %d and %d are: ", low, high);
for (int i = low; i <= high; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
return 0;
}
Here, the program reads two numbers defining the intervals. It then iterates through these numbers, using the isPrime
function to check for prime numbers, and prints each prime found.
While the provided implementation works for small intervals, performance may degrade with larger ranges due to the increasing number of checks. Here are some suggestions to improve the program:
The C program to display prime numbers between two intervals serves as a practical application of basic programming constructs like loops and functions in C. By testing and tweaking the code, adapt it to handle larger intervals more efficiently or to refine its structure for better understanding and performance. Understanding these principles solidifies foundational programming skills and prepares for more complex problem-solving scenarios.