Check whether product of 'n' numbers is even or odd - GeeksforGeeks

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: 
Product of two even numbers is even.Product of two odd numbers is odd.Product of one even and one odd number is even.
Product of two even numbers is even.
Product of two odd numbers is odd.
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++
Java
Python3
C#
PHP
Javascript
// 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 oddbool 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 aboveint 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 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 implementation to# check whether product of 'n'# numbers is even or odd # function to check whether# product of 'n' numbers is# even or odddef 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 Codearr = [ 2, 4, 3, 5 ]n = len(arr)if (isProductEven(arr, n)):    print("Even")else:    print("Odd") # This code is contributed# by ihritik
// C# implementation to check// whether product of 'n'// numbers is even or oddusing System; class GFG{     // function to check whether// product of 'n' numbers// is even or oddstatic 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 codepublic 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 implementation to check// whether product of 'n' numbers// is even or odd // function to check whether// product of 'n' numbers is// even or oddfunction 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?>
<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 oddfunction 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). 
ankthon
ihritik
surbhityagi15
Bitwise-AND
integer-overflow
Bit Magic
Mathematical
Mathematical
Bit Magic
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Set, Clear and Toggle a given bit of a number in C
Check whether K-th bit is set or not
Program to find parity
Hamming code Implementation in C/C++
Write an Efficient Method to Check if a Number is Multiple of 3
Program for Fibonacci numbers
Write a program to print all permutations of a given string
C++ Data Types
Set in C++ Standard Template Library (STL)
Coin Change | DP-7