Skip to main content

Check if a Number is Prime with Simple C++ Code

Determining whether a number is prime is a common task in programming and mathematics. A prime number is defined as a natural number greater than 1 that cannot be formed by multiplying two smaller natural numbers. In this blog post, we’ll explore a straightforward C++ code snippet that checks if a given number is prime or not.

#include<iostream>
using namespace std;

main()
{
    int n, num = 2, flag = 0;
    cin >> n; // Read an integer from user input

    // Check for primality
    while (num < n)
    {
        if (n % num == 0)
        {
            cout << "Not Prime" << endl; // Print "Not Prime" if 'n' is divisible by 'num'
            flag = 1; // Set flag to 1 indicating that 'n' is not prime
            break; // Exit the loop as we have found a divisor
        }
        num++; // Increment 'num' to check the next divisor
    }
   
    if (flag == 0)
        cout << "Prime" << endl; // Print "Prime" if no divisors were found
}

How the Code Works

1. Input Reading

The code begins by reading an integer input from the user, which is stored in the variable n.

2. Initial Setup

  • num: This variable starts at 2 and will be used to check possible divisors of n.
  • flag: A flag is set to 0 initially. It will be used to indicate whether a divisor has been found.

3. Checking for Divisors

The code enters a while loop that runs as long as num is less than n. Inside the loop:

  • Divisibility Check: The condition if (n % num == 0) checks if n is divisible by num without leaving a remainder.
    • If True: This means n is not a prime number (as it has a divisor other than 1 and itself). The code prints "Not Prime", sets flag to 1, and breaks out of the loop.
    • If False: The loop continues with num incremented by 1 to check the next possible divisor.

4. Final Check

After the loop, if flag is still 0, it means no divisors were found other than 1 and n itself. Therefore, n is a prime number, and the code prints "Prime".

Why This Code Works

  • Efficiency: The loop runs only until num is less than n. For each iteration, it checks if n is divisible by the current num.
  • Correctness: If n is divisible by any number other than 1 and itself, it is correctly identified as "Not Prime". If no such divisors are found, n is correctly identified as "Prime".

Potential Improvements

  • Optimize Divisor Check: Instead of checking up to n, you could check up to the square root of n. This would make the code more efficient for larger numbers.
  • Edge Cases: The code does not handle numbers less than 2. It would be beneficial to include checks for such cases and handle them appropriately.

SEO Keywords: C++ prime number check, is number prime C++, prime number C++ code, check for primality in C++, C++ programming tutorial, determine prime number C++

Popular posts from this blog

Top 10 Beginner-Friendly LeetCode Questions and Their Solutions

If you're new to solving coding problems on LeetCode, it can feel overwhelming. Where do you start? Which problems are suitable for beginners? Don’t worry! In this blog post, I’ll guide you through 10 beginner-friendly LeetCode questions that are perfect for getting started on your coding journey. These problems will help you build confidence, improve your problem-solving skills, and lay a solid foundation in data structures and algorithms. Why Start with Beginner-Friendly Problems? Before diving into advanced topics like dynamic programming or graph theory, it’s essential to: Build a strong foundation in basic programming concepts. Understand how to approach a coding problem methodically. Gain familiarity with LeetCode’s platform and its problem structure. The following problems are simple yet impactful, designed to introduce you to common techniques like loops, arrays, strings, and basic math operations. 10 Beginner-Friendly LeetCode Problems 1. Two Sum (Easy) Problem Link : Two...

How to Solve LeetCode’s Hard Problems Without Getting Stuck

LeetCode’s hard problems can seem daunting, especially when you’re just getting comfortable with coding. Tackling these problems isn’t about innate talent—it’s about persistence, learning, and applying the right strategies. In this blog, I’ll share actionable tips and techniques to help you solve LeetCode hard problems without getting stuck and make consistent progress in your problem-solving journey. Why Are Hard Problems Hard? LeetCode hard problems challenge your understanding of advanced data structures, algorithms, and optimization techniques. Here’s why they’re tough: They require deep problem-solving skills and out-of-the-box thinking. Many involve multiple layers of complexity . Edge cases and large inputs often test your algorithm’s efficiency. They push you to master topics like dynamic programming, graph traversal, and segment trees. However, with the right approach, you can break down even the most complex problems into manageable parts. Start with the Right Mindset Appro...

Efficient Solution to LeetCode 2563: Count the Number of Fair Pairs in C++

 his problem tests our understanding of efficient array traversal techniques and highlights the power of binary search when working with sorted arrays. By the end of this post, you’ll have a clear, optimized solution in C++ that avoids Time Limit Exceeded (TLE) errors and uses two-pointer and binary search techniques . Let’s get started by breaking down the problem and exploring a step-by-step approach to a performant solution. Problem Statement Given: An integer array nums of size n . Two integers, lower and upper . Our goal is to count all pairs (i, j) where: 0 <= i < j < n , and lower <= nums[i] + nums[j] <= upper . Example Walkthrough Let's clarify with an example: Example 1 Input: nums = [0, 1, 7, 4, 4, 5] , lower = 3 , upper = 6 Output: 6 Explanation: Valid pairs that satisfy the condition are (0,3) , (0,4) , (0,5) , (1,3) , (1,4) , and (1,5) . Example 2 Input: nums = [1, 7, 9, 2, 5] , lower = 11 , upper = 11 Output: 1 Explanation: There is only one valid p...