• Articles
  • Tutorials
  • Interview Questions
  • Webinars

How to Identify a Prime Number Using C Program

How to Identify a Prime Number Using C Program

In this blog, we will learn the secrets of using while loops, functions, and recursion. Let us decode the complexities of prime numbers and improve your C programming abilities. Together, we will uncover the simplicity behind the complexity and give you the tools you need to effectively use prime numbers.

Watch the video below to understand C programming in detail:

C Program to Check Whether a Number is Prime or Not

A prime number is a positive integer greater than 1 with no positive divisors other than 1 and itself. In simpler terms, a prime number is a whole number greater than 1 that cannot be formed by multiplying two smaller natural numbers other than 1 and itself. 

For example, 2, 3, 5, 7, 11, and 13 are prime numbers.

In C programming, there are different techniques to check whether a number is prime. Some of them are mentioned below.

Using While Loop

Refer to the given code:

#include <stdio.h>
int main() {
    int num, i = 2;
    int isPrime = 1;  // Assume the number is prime initially
    // Input from user
    printf("Enter a positive integer: ");
    scanf("%d", &num);
    // Special case: 0 and 1 are not prime numbers
    if (num < 2) {
        isPrime = 0;
    } else {
        // Check for factors from 2 to the square root of the number
        while (i * i <= num) {
            if (num % i == 0) {
                // If the number is divisible by i, it's not prime
                isPrime = 0;
                break;
            }
            i++;
        }
    }
    // Output the result
    if (isPrime) {
        printf("%d is a prime number.\n", num);
    } else {
        printf("%d is not a prime number.\n", num);
    }
    return 0;
}

Output:

Enter a positive integer: 33 is a prime number.

If you want to know more about C programming, you can go through this C Programming Certification Course!

Using Functions

Refer to the given code:

#include <stdio.h>
#include <stdbool.h>
// Function to check whether a number is prime
bool isPrime(int num) {
    if (num <= 1) {
        return false; // 0 and 1 are not prime numbers
    }
    for (int i = 2; i * i <= num; i++) {
        if (num % i == 0) {
            return false; // If num is divisible by any number from 2 to sqrt(num), it's not prime
        }
    }
    return true; // If no divisors found, num is prime
}
int main() {
    int number;
    // Input from user
    printf("Enter a positive integer: ");
    scanf("%d", &number);
    // Check and display the result
    if (isPrime(number)) {
        printf("%d is a prime number.\n", number);
    } else {
        printf("%d is not a prime number.\n", number);
    }
    return 0;
}

Output:

Enter a positive integer: 11 is not a prime number.

Get ready for high-paying programming jobs with these Top C & Data Structure Interview Questions and Answers!

Using Recursion

Refer to the given code:

#include <stdio.h>
// Function to check if a number is prime
int isPrime(int num, int i) {
    // Base cases
    if (i == 1) {
        return 1; // Prime
    } else {
        // If the number is divisible by any number other than 1 and itself, it's not prime
        if (num % i == 0) {
            return 0; // Not prime
        } else {
            // Recursively check for the next divisor
            return isPrime(num, i - 1);
        }
    }
}
int main() {
    int num;
    // Input a number from the user
    printf("Enter a positive integer: ");
    scanf("%d", &num);
    // Check if the number is greater than 1
    if (num > 1) {
        // Call the recursive function to check if the number is prime
        if (isPrime(num, num / 2)) {
            printf("%d is a prime number.\n", num);
        } else {
            printf("%d is not a prime number.\n", num);
        }
    } else {
        printf("Please enter a positive integer greater than 1.\n");
    }
    return 0;
}

Output:

Enter a positive integer: 6767 is a prime number.

Do you want to learn C programming in depth? Visit our C Tutorial.

Wrap-Up

Understanding prime numbers in C is essential for many programming applications. In this blog, we’ve explored the concept of prime numbers. Through a step-by-step guide and a C code snippet, we’ve shown how to determine whether a number is prime or not using a basic algorithm. This knowledge is fundamental not only for identifying prime numbers but also for various mathematical computations, cryptography, and problem-solving within the domain of computer science. Mastering prime number detection in C lays a strong foundation for tackling more complex programming challenges.

If you have any doubts or queries, drop them on our Community!

FAQs

How can I check if a number is a prime number in C?

You can check if a number is prime in C by using a simple algorithm that involves iterating through numbers up to the square root of the given number and checking for divisibility

Can prime numbers be negative or zero in C?

No, prime numbers are defined as positive integers greater than 1 that have exactly two distinct positive divisors: 1 and the number itself. Negative numbers and zero cannot be prime numbers.

How do I handle large prime numbers in C?

Handling large prime numbers in C often involves using libraries or data types that can manage big integers, such as the GNU Multiple Precision Arithmetic Library (GMP), or implementing algorithms made for handling large numbers efficiently.

Is 1 considered a prime number in C?

No, 1 is not considered a prime number. Prime numbers are defined as having exactly two distinct positive divisors, but 1 only has one divisor (1 itself).

Can I use a recursive approach to check for prime numbers in C?

Yes, it’s possible to use recursion to check for prime numbers in C. However, using loops is more commonly preferred due to the potential for stack overflow when dealing with large numbers in a recursive approach.

Are there any built-in functions in C for prime number checking?

No, C doesn’t have a standard built-in function specifically designed to check for prime numbers. Programmers usually implement their algorithms or utilize external libraries for prime number computation.

Course Schedule

Name Date Details
Python Course 22 Jun 2024(Sat-Sun) Weekend Batch
View Details
Python Course 29 Jun 2024(Sat-Sun) Weekend Batch
View Details
Python Course 06 Jul 2024(Sat-Sun) Weekend Batch
View Details

About the Author

Senior Consultant Analytics & Data Science

Presenting Sahil Mattoo, a Senior Consultant Analytics & Data Science at Eli Lilly and Company is an accomplished professional with 14 years of experience across data science, analytics, and technical leadership domains, demonstrates a remarkable ability to drive business insights. Sahil holds a Post Graduate Program in Business Analytics and Business Intelligence from Great Lakes Institute of Management.