Open In App

Count Odd and Even numbers in a range from L to R

Last Updated : 18 Mar, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

Given two numbers L and R, the task is to count the number of odd and even numbers in the range L to R.
Examples: 

Input: l = 3, r = 7 
Output: 3 2 
Count of odd numbers is 3 i.e. 3, 5, 7 
Count of even numbers is 2 i.e. 4, 6
Input: l = 4, r = 8 
Output:  2 3
Count of odd numbers is 2 i.e. 5, 7 
Count of even numbers is 3 i.e. 4, 6, 8
 

Brute Force Approach:

    we will just traverse over the range and output the count at last.

C++
#include <iostream>
using namespace std;

int main() {
   int l=3,h=7;
   int odd=0,even=0;
   for(int i=l;i<=h;i++){
     if(i%2)++odd;
     else ++even;
   }
   cout<<"Odd count is : "<<odd<<endl;
   cout<<"Even count is : "<<even<<endl; 
    return 0;
}
Python3
# Python equivalent of the code

l, h = 3, 7 # initializing l and h
odd, even = 0, 0 # initializing odd and even

# for loop to check for odd and even numbers
for i in range(l, h+1):
    if i % 2: # checking for odd numbers
        odd += 1 # increase odd count
    else:
        even += 1 # increase even count

# printing the output
print("Odd count is :", odd)
print("Even count is :", even)
Java
// Java equivalent of the code

import java.util.Scanner;

public class GFG {
    public static void main(String[] args)
    {
        // initializing l and h
        int l = 3, h = 7;

        // initializing odd and even
        int odd = 0, even = 0;

        // for loop to check for odd and even numbers
        for (int i = l; i <= h; i++) {
            // checking for odd numbers
            if (i % 2 == 1)
                odd++; // increase odd count
            else
                even++; // increase even count
        }

        // printing the output
        System.out.println("Odd count is : " + odd);
        System.out.println("Even count is : " + even);
    }
}
C#
// C# equivalent of the code

using System;

class GFG {
    public static void Main(string[] args)
    {
        // initializing l and h
        int l = 3, h = 7;
        // initializing odd and even
        int odd = 0, even = 0;

        // for loop to check for odd and even numbers
        for (int i = l; i <= h; i++) {
            // checking for odd numbers
            if (i % 2 == 1)
                odd++; // increase odd count
            else
                even++; // increase even count
        }

        // printing the output
        Console.WriteLine("Odd count is : " + odd);
        Console.WriteLine("Even count is : " + even);
    }
}
JavaScript
// Javascript equivalent of the code

// Define the lower and higher limits of the range
let l = 3;
let h = 7;

// Initialize the counters for odd and even numbers
let odd = 0;
let even = 0;

// Loop through the range from l to h (inclusive)
for(let i = l; i <= h; i++) {
    if(i % 2) { // Check if the number is odd
    odd++; // Increment the odd counter if the number is odd
    } else {
  even++; // Increment the even counter if the number is even
    }
}

// Print the counts of odd and even numbers
console.log("Odd count is: " + odd);
console.log("Even count is: " + even);

Output
Odd count is : 3
Even count is : 2

Complexity Analysis:

 Time Complexity: O(n).
 Auxiliary Space: O(1).

Approach: Total numbers in the range will be (R - L + 1) i.e. N.  

  1. If N is even then the count of both odd and even numbers will be N/2.
  2. If N is odd, 
    • If L or R is odd, then the count of the odd numbers will be N/2 + 1, and even numbers = N - countofOdd.
    • Else, the count of odd numbers will be N/2 and even numbers = N - countofOdd.


Below is the implementation of the above approach:

C++
// C++ implementation of the above approach 
#include <bits/stdc++.h>

using namespace std;

// Return the number of odd numbers 
// in the range [L, R] 
int countOdd(int L, int R){ 

    int N = (R - L) / 2;

    // if either R or L is odd 
    if (R % 2 != 0 || L % 2 != 0) 
        N += 1;

    return N;
}

// Driver code
int main()
{ 
    int L = 3, R = 7;
    int odds = countOdd(L, R); 
    int evens = (R - L + 1) - odds; 
    
    cout << "Count of odd numbers is " << odds << endl; 
    cout << "Count of even numbers is " << evens << endl;
    return 0;
}

// This code is contributed by Rituraj Jain
Java
// Java implementation of the above approach

class GFG {

    // Return the number of odd numbers
    // in the range [L, R]
    static int countOdd(int L, int R)
    {
        int N = (R - L) / 2;

        // if either R or L is odd
        if (R % 2 != 0 || L % 2 != 0)
            N++;

        return N;
    }

    // Driver code
    public static void main(String[] args)
    {
        int L = 3, R = 7;

        int odds = countOdd(L, R);
        int evens = (R - L + 1) - odds;
        System.out.println("Count of odd numbers is " + odds);
        System.out.println("Count of even numbers is " + evens);
    }
}
Python 3
# Python 3 implementation of the 
# above approach

# Return the number of odd numbers
# in the range [L, R]
def countOdd(L, R):

    N = (R - L) // 2

    # if either R or L is odd
    if (R % 2 != 0 or L % 2 != 0):
        N += 1

    return N

# Driver code
if __name__ == "__main__":
    
    L = 3
    R = 7

    odds = countOdd(L, R)
    evens = (R - L + 1) - odds
    print("Count of odd numbers is", odds)
    print("Count of even numbers is", evens)

# This code is contributed by ita_c
C#
// C# implementation of the above approach 
using System;

class GFG
{ 

    // Return the number of odd numbers 
    // in the range [L, R] 
    static int countOdd(int L, int R) 
    { 
        int N = (R - L) / 2; 

        // if either R or L is odd 
        if (R % 2 != 0 || L % 2 != 0) 
            N++; 

        return N; 
    } 

    // Driver code 
    public static void Main() 
    { 
        int L = 3, R = 7; 

        int odds = countOdd(L, R); 
        int evens = (R - L + 1) - odds; 
        Console.WriteLine("Count of odd numbers is " + odds); 
        Console.WriteLine("Count of even numbers is " + evens); 
    } 
} 

// This code is contributed by Ryuga
PHP
<?php
// PHP implementation of the above approach

// Return the number of odd numbers
// in the range [L, R]
function countOdd($L, $R)
{
    $N = ($R - $L) / 2;

    // if either R or L is odd
    if ($R % 2 != 0 || $L % 2 != 0)
        $N++;

    return intval($N);
}

// Driver code
$L = 3; $R = 7;

$odds = countOdd($L, $R);
$evens = ($R - $L + 1) - $odds;
echo "Count of odd numbers is " . $odds . "\n";
echo "Count of even numbers is " . $evens;

// This code is contributed
// by Akanksha Rai
?>
JavaScript
<script>

// Javascript implementation 
// of the above approach


// Return the number of odd numbers
// in the range [L, R]
function countOdd( L, R){

    let N = Math.floor((R - L) / 2);

    // if either R or L is odd
    if (R % 2 != 0 || L % 2 != 0)
        N += 1;

    return N;
}


    // Driver Code
    
    let L = 3, R = 7;
    let odds = countOdd(L, R);
    let evens = (R - L + 1) - odds;
    
    document.write(
    "Count of odd numbers is " + odds + "</br>"
    );
    document.write(
    "Count of even numbers is " + evens + "</br>"
    );
    
    
</script>

Output
Count of odd numbers is 3
Count of even numbers is 2

Time Complexity: O(1), since there is only a basic arithmetic operation that takes constant time.
Auxiliary Space: O(1), since no extra space has been taken.


Next Article
Article Tags :
Practice Tags :

Similar Reads