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

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.

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**.