Start learning free

LESSON 79 OF 410 · CONDITIONAL STATEMENTS

Parity of Number in JavaScript

Practice Read the full explanation

Given a non-negative integer n, check its parity and return "even" or "odd"

A number is "even" if it is divisible by 2 and "odd" otherwise

Example:

Input: n = 12

Output: "even"

Explanation:
12 is divisible by 2, so it is even
Hints:

You can make use of modulo operator with an if statement

12 % 2 is 0, therefore 12 is "even"
13 % 2 is 1, therefore 13 is "odd"
STEP 1 OF 3
    Ctrl + Enter to check

    JAVASCRIPT · CONDITIONAL STATEMENTS

    Parity Of Number in JavaScript, explained

    Understanding the Problem

    The core challenge of this problem is to determine whether a given non-negative integer n is even or odd. This is a fundamental problem in computer science and mathematics with applications in various fields such as algorithm design, data structures, and more.

    Common applications include:

    • Determining the parity of elements in an array.
    • Optimizing algorithms that behave differently based on the parity of numbers.

    Potential pitfalls include misunderstanding the modulo operation or incorrectly handling edge cases such as zero.

    Approach

    To solve this problem, we can use the modulo operator (%) to determine the remainder when n is divided by 2. If the remainder is 0, the number is even; otherwise, it is odd.

    Naive Solution

    A naive solution would involve checking each number from 0 to n to see if it is even or odd. However, this is unnecessary and inefficient.

    Optimized Solution

    The optimized solution involves a single check using the modulo operator:

    • If n % 2 == 0, then n is even.
    • If n % 2 != 0, then n is odd.

    Algorithm

    Here is a step-by-step breakdown of the algorithm:

    1. Take the input number n.
    2. Check if n % 2 is equal to 0.
    3. If true, return "even".
    4. If false, return "odd".

    Code Implementation

    // Function to check the parity of a number
    function checkParity(n) {
      // Check if the number is even
      if (n % 2 === 0) {
        return "even";
      } else {
        return "odd";
      }
    }
    
    // Example usage
    console.log(checkParity(12)); // Output: "even"
    console.log(checkParity(13)); // Output: "odd"
    

    Complexity Analysis

    The time complexity of this solution is O(1) because it involves a single modulo operation and a conditional check, both of which are constant-time operations.

    The space complexity is also O(1) as no additional space is required.

    Edge Cases

    Potential edge cases include:

    • n = 0: The function should return "even" as 0 is divisible by 2.
    • Very large values of n: The function should handle large integers without performance issues.

    Examples:

    Input: n = 0
    Output: "even"
    
    Input: n = 999999999
    Output: "odd"
    

    Testing

    To test the solution comprehensively, consider the following test cases:

    • Simple cases: n = 1, 2, 3, 4
    • Edge cases: n = 0, n = 999999999
    • Random cases: n = 123456, n = 987654321

    Use a testing framework like Jest or Mocha for automated testing.

    Thinking and Problem-Solving Tips

    When approaching such problems:

    • Understand the problem requirements and constraints.
    • Think about the simplest and most efficient way to solve the problem.
    • Break down the problem into smaller, manageable steps.
    • Practice similar problems to improve problem-solving skills.

    Conclusion

    In this blog post, we discussed how to determine the parity of a number using a simple and efficient algorithm. Understanding and solving such problems is crucial for developing strong problem-solving skills in computer science.

    We encourage readers to practice and explore further to deepen their understanding.

    Additional Resources

    Keep going with JavaScriptAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free