Skip to content
Related Articles

Related Articles

Improve Article

Check whether product of ‘n’ numbers is even or odd

  • Last Updated : 15 Mar, 2021

Given an array arr[] containing n numbers. The problem is to check whether the product of the given n numbers is even or odd.
Examples: 
 

Input : arr[] = {2, 4, 3, 5}
Output : Even
Product = 2 * 4 * 3 * 5 = 120

Input : arr[] = {3, 9, 7, 1}
Output : Odd

 

A simple solution is to first find the product, then check if the product is even or odd. This solution causes overflow for large arrays.
A better solution is based on following mathematical calculation facts:
 

  1. Product of two even numbers is even.
  2. Product of two odd numbers is odd.
  3. Product of one even and one odd number is even.

Based on the above facts, if a single even number occurs then the entire product of n numbers will be even else odd.
 

C++




// C++ implementation to check whether product of
// 'n' numbers is even or odd
#include <bits/stdc++.h>
 
using namespace std;
 
// function to check whether product of
// 'n' numbers is even or odd
bool isProductEven(int arr[], int n)
{
    for (int i = 0; i < n; i++)
 
        // if a single even number is found, then
        // final product will be an even number
        if ((arr[i] & 1) == 0)
            return true;
 
    // product is an odd number
    return false;
}
 
// Driver program to test above
int main()
{
    int arr[] = { 2, 4, 3, 5 };
    int n = sizeof(arr) / sizeof(arr[0]);
    if (isProductEven(arr, n))
        cout << "Even";
    else
        cout << "Odd";
    return 0;
}

Java




// Java implementation to check whether product of
// 'n' numbers is even or odd
 
public class GFG {
     
    // function to check whether product of
    // 'n' numbers is even or odd
    static boolean isProductEven(int arr[], int n)
    {
        for (int i = 0; i < n; i++)
 
            // if a single even number is found, then
            // final product will be an even number
            if ((arr[i] & 1) == 0)
                return true;
 
        // product is an odd number
        return false;
    }
 
 
    // Driver code
    public static void main(String args[])
    {
            int arr[] = { 2, 4, 3, 5 };
            int n = arr.length ;
            if (isProductEven(arr, n))
                System.out.println("Even");
            else
                System.out.println("Odd") ;     
    }
    // This Code is contributed by ANKITRAI1
}

Python3




# Python3 implementation to
# check whether product of 'n'
# numbers is even or odd
 
# function to check whether
# product of 'n' numbers is
# even or odd
def isProductEven(arr, n):
 
    for i in range(0, n):
 
        # if a single even number is
        # found, then final product
        # will be an even number
        if ((arr[i] & 1) == 0):
            return True
 
    # product is an odd number
    return False
 
# Driver Code
arr = [ 2, 4, 3, 5 ]
n = len(arr)
if (isProductEven(arr, n)):
    print("Even")
else:
    print("Odd")
 
# This code is contributed
# by ihritik

C#




// C# implementation to check
// whether product of 'n'
// numbers is even or odd
using System;
 
class GFG
{
     
// function to check whether
// product of 'n' numbers
// is even or odd
static bool isProductEven(int []arr, int n)
{
    for (int i = 0; i < n; i++)
 
        // if a single even number is
        // found, then final product
        // will be an even number
        if ((arr[i] & 1) == 0)
            return true;
 
    // product is an odd number
    return false;
}
 
// Driver code
public static void Main()
{
    int []arr = { 2, 4, 3, 5 };
    int n = arr.Length;
    if (isProductEven(arr, n))
        Console.WriteLine("Even");
    else
        Console.WriteLine("Odd") ;
}
}
 
// This code is contributed by ihritik

PHP




<?php
// PHP implementation to check
// whether product of 'n' numbers
// is even or odd
 
// function to check whether
// product of 'n' numbers is
// even or odd
function isProductEven($arr, $n)
{
    for ($i = 0; $i < $n; $i++)
 
        // if a single even number is
        // found, then final product
        // will be an even number
        if (($arr[$i] & 1) == 0)
            return true;
 
    // product is an odd number
    return false;
}
 
// Driver code
$arr = array( 2, 4, 3, 5 );
$n = sizeof($arr);
if (isProductEven($arr, $n))
    echo "Even";
else
    echo "Odd";
     
// This code is contributed by ihritik
?>

Javascript




<script>
// JavaScript implementation to check whether product of
// 'n' numbers is even or odd
 
// function to check whether product of
// 'n' numbers is even or odd
function isProductEven(arr, n)
{
    for (let i = 0; i < n; i++)
 
        // if a single even number is found, then
        // final product will be an even number
        if ((arr[i] & 1) == 0)
            return true;
 
    // product is an odd number
    return false;
}
 
// Driver program to test above
  
    let arr = [ 2, 4, 3, 5 ];
    let n = arr.length;
    if (isProductEven(arr, n))
        document.write("Even");
    else
        document.write("Odd");
 
// This code is contributed by Surbhi Tyagi.
 
</script>

Output: 



Even

Time Complexity: O(n).
 

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.




My Personal Notes arrow_drop_up
Recommended Articles
Page :