# Missing even and odd elements from the given arrays

Given two integer arrays even[] and odd[] which contains consecutive even and odd elements respectively with one element missing from each of the arrays. The task is to find the missing elements.

Examples:

Input: even[] = {6, 4, 8, 14, 10}, odd[] = {7, 5, 3, 11, 13}
Output:
Even = 12
Odd = 9

Input: even[] = {4, 6, 2, 10}, odd[] = {7, 5, 9, 13, 11, 17}
Output:
Even = 8
Odd = 15

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: Store the minimum and the maximum even elements from the even[] array in variables minEven and maxEven. As we know that the sum of first N even numbers is N * (N + 1). Calculate sum of even numbers from 2 to minEven say sum1 and sum of even numbers from 2 to maxEven say sum2. Now, the required sum of the even array will be reqSum = sum2 – sum1 + minEven, subtracting the even[] array sum from this reqSum will give us the missing even number.
Similarly, the missing odd number can also be found as we know that the sum of first N odd numbers is N2.

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach ` `#include ` `using` `namespace` `std; ` ` `  `// Function to find the missing numbers ` `void` `findMissingNums(``int` `even[], ``int` `sizeEven, ``int` `odd[], ``int` `sizeOdd) ` `{ ` ` `  `    ``// To store the minimum and the maximum ` `    ``// odd and even elements from the arrays ` `    ``int` `minEven = INT_MAX; ` `    ``int` `maxEven = INT_MIN; ` `    ``int` `minOdd = INT_MAX; ` `    ``int` `maxOdd = INT_MIN; ` ` `  `    ``// To store the sum of the array elements ` `    ``int` `sumEvenArr = 0, sumOddArr = 0; ` ` `  `    ``// Get the minimum and the maximum ` `    ``// even elements from the array ` `    ``for` `(``int` `i = 0; i < sizeEven; i++) { ` `        ``minEven = min(minEven, even[i]); ` `        ``maxEven = max(maxEven, even[i]); ` `        ``sumEvenArr += even[i]; ` `    ``} ` ` `  `    ``// Get the minimum and the maximum ` `    ``// odd elements from the array ` `    ``for` `(``int` `i = 0; i < sizeOdd; i++) { ` `        ``minOdd = min(minOdd, odd[i]); ` `        ``maxOdd = max(maxOdd, odd[i]); ` `        ``sumOddArr += odd[i]; ` `    ``} ` ` `  `    ``// To store the total terms in the series ` `    ``// and the required sum of the array ` `    ``int` `totalTerms = 0, reqSum = 0; ` ` `  `    ``// Total terms from 2 to minEven ` `    ``totalTerms = minEven / 2; ` ` `  `    ``// Sum of all even numbers from 2 to minEven ` `    ``int` `evenSumMin = totalTerms * (totalTerms + 1); ` ` `  `    ``// Total terms from 2 to maxEven ` `    ``totalTerms = maxEven / 2; ` ` `  `    ``// Sum of all even numbers from 2 to maxEven ` `    ``int` `evenSumMax = totalTerms * (totalTerms + 1); ` ` `  `    ``// Required sum for the even array ` `    ``reqSum = evenSumMax - evenSumMin + minEven; ` ` `  `    ``// Missing even number ` `    ``cout << ``"Even = "` `<< reqSum - sumEvenArr << ``"\n"``; ` ` `  `    ``// Total terms from 1 to minOdd ` `    ``totalTerms = (minOdd / 2) + 1; ` ` `  `    ``// Sum of all odd numbers from 1 to minOdd ` `    ``int` `oddSumMin = totalTerms * totalTerms; ` ` `  `    ``// Total terms from 1 to maxOdd ` `    ``totalTerms = (maxOdd / 2) + 1; ` ` `  `    ``// Sum of all odd numbers from 1 to maxOdd ` `    ``int` `oddSumMax = totalTerms * totalTerms; ` ` `  `    ``// Required sum for the odd array ` `    ``reqSum = oddSumMax - oddSumMin + minOdd; ` ` `  `    ``// Missing odd number ` `    ``cout << ``"Odd = "` `<< reqSum - sumOddArr; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `even[] = { 6, 4, 8, 14, 10 }; ` `    ``int` `sizeEven = ``sizeof``(even) / ``sizeof``(even); ` `    ``int` `odd[] = { 7, 5, 3, 11, 13 }; ` `    ``int` `sizeOdd = ``sizeof``(odd) / ``sizeof``(odd); ` `    ``findMissingNums(even, sizeEven, odd, sizeOdd); ` ` `  `    ``return` `0; ` `} `

## Java

 `// Java implementation of the approach ` `class` `GFG ` `{ ` `     `  `// Function to find the missing numbers ` `static` `void` `findMissingNums(``int` `even[], ``int` `sizeEven,  ` `                            ``int` `odd[], ``int` `sizeOdd) ` `{ ` ` `  `    ``// To store the minimum and the maximum ` `    ``// odd and even elements from the arrays ` `    ``int` `minEven =Integer.MAX_VALUE; ` `    ``int` `maxEven =Integer.MIN_VALUE; ` `    ``int` `minOdd = Integer.MAX_VALUE; ` `    ``int` `maxOdd = Integer.MIN_VALUE; ` ` `  `    ``// To store the sum of the array elements ` `    ``int` `sumEvenArr = ``0``, sumOddArr = ``0``; ` ` `  `    ``// Get the minimum and the maximum ` `    ``// even elements from the array ` `    ``for` `(``int` `i = ``0``; i < sizeEven; i++) ` `    ``{ ` `        ``minEven = Math.min(minEven, even[i]); ` `        ``maxEven = Math.max(maxEven, even[i]); ` `        ``sumEvenArr += even[i]; ` `    ``} ` ` `  `    ``// Get the minimum and the maximum ` `    ``// odd elements from the array ` `    ``for` `(``int` `i = ``0``; i < sizeOdd; i++)  ` `    ``{ ` `        ``minOdd = Math.min(minOdd, odd[i]); ` `        ``maxOdd = Math.max(maxOdd, odd[i]); ` `        ``sumOddArr += odd[i]; ` `    ``} ` ` `  `    ``// To store the total terms in the series ` `    ``// and the required sum of the array ` `    ``int` `totalTerms = ``0``, reqSum = ``0``; ` ` `  `    ``// Total terms from 2 to minEven ` `    ``totalTerms = minEven / ``2``; ` ` `  `    ``// Sum of all even numbers ` `    ``// from 2 to minEven ` `    ``int` `evenSumMin = (totalTerms *  ` `                     ``(totalTerms + ``1``)); ` ` `  `    ``// Total terms from 2 to maxEven ` `    ``totalTerms = maxEven / ``2``; ` ` `  `    ``// Sum of all even numbers from  ` `    ``// 2 to maxEven ` `    ``int` `evenSumMax = (totalTerms *  ` `                     ``(totalTerms + ``1``)); ` ` `  `    ``// Required sum for the even array ` `    ``reqSum = evenSumMax - evenSumMin + minEven; ` ` `  `    ``// Missing even number ` `    ``System.out.println(``"Even = "` `+  ` `                      ``(reqSum - sumEvenArr)); ` ` `  `    ``// Total terms from 1 to minOdd ` `    ``totalTerms = (minOdd / ``2``) + ``1``; ` ` `  `    ``// Sum of all odd numbers  ` `    ``// from 1 to minOdd ` `    ``int` `oddSumMin = totalTerms * totalTerms; ` ` `  `    ``// Total terms from 1 to maxOdd ` `    ``totalTerms = (maxOdd / ``2``) + ``1``; ` ` `  `    ``// Sum of all odd numbers  ` `    ``// from 1 to maxOdd ` `    ``int` `oddSumMax = totalTerms * totalTerms; ` ` `  `    ``// Required sum for the odd array ` `    ``reqSum = oddSumMax - oddSumMin + minOdd; ` ` `  `    ``// Missing odd number ` `    ``System.out.println(``"Odd = "` `+  ` `                      ``(reqSum - sumOddArr)); ` `} ` ` `  `// Driver code ` `public` `static` `void` `main(String[] args) ` `{ ` `    ``int` `even[] = { ``6``, ``4``, ``8``, ``14``, ``10` `}; ` `    ``int` `sizeEven = even.length; ` `    ``int` `odd[] = { ``7``, ``5``, ``3``, ``11``, ``13` `}; ` `    ``int` `sizeOdd = odd.length; ` `    ``findMissingNums(even, sizeEven,  ` `                     ``odd, sizeOdd); ` `} ` `} ` ` `  `// This code is contributed  ` `// by Code_Mech. `

## Python3

 `# Python3 implementation of the approach  ` `import` `sys ` ` `  `# Function to find the missing numbers  ` `def` `findMissingNums(even, sizeEven, ` `                      ``odd, sizeOdd):  ` ` `  `    ``# To store the minimum and the ` `    ``# maximum odd and even elements ` `    ``# from the arrays  ` `    ``minEven ``=` `sys.maxsize ;  ` `    ``maxEven ``=` `-``(sys.maxsize ``-` `1``);  ` `    ``minOdd ``=` `sys.maxsize ;  ` `    ``maxOdd ``=` `-``(sys.maxsize ``-` `1``);  ` `     `  `    ``# To store the sum of the  ` `    ``# array elements ` `    ``sumEvenArr ``=` `0``; ` `    ``sumOddArr ``=` `0``;  ` ` `  `    ``# Get the minimum and the maximum  ` `    ``# even elements from the array  ` `    ``for` `i ``in` `range``(sizeEven) : ` `        ``minEven ``=` `min``(minEven, even[i]);  ` `        ``maxEven ``=` `max``(maxEven, even[i]);  ` `        ``sumEvenArr ``+``=` `even[i];  ` ` `  `    ``# Get the minimum and the maximum  ` `    ``# odd elements from the array  ` `    ``for` `i ``in` `range``(sizeOdd) : ` `        ``minOdd ``=` `min``(minOdd, odd[i]);  ` `        ``maxOdd ``=` `max``(maxOdd, odd[i]);  ` `        ``sumOddArr ``+``=` `odd[i];  ` `     `  `    ``# To store the total terms in  ` `    ``# the series and the required ` `    ``# sum of the array  ` `    ``totalTerms ``=` `0``; ` `    ``reqSum ``=` `0``;  ` ` `  `    ``# Total terms from 2 to minEven  ` `    ``totalTerms ``=` `minEven ``/``/` `2``;  ` ` `  `    ``# Sum of all even numbers from ` `    ``# 2 to minEven  ` `    ``evenSumMin ``=` `(totalTerms ``*`  `                 ``(totalTerms ``+` `1``));  ` ` `  `    ``# Total terms from 2 to maxEven  ` `    ``totalTerms ``=` `maxEven ``/``/` `2``;  ` ` `  `    ``# Sum of all even numbers from ` `    ``# 2 to maxEven  ` `    ``evenSumMax ``=` `(totalTerms ``*`  `                 ``(totalTerms ``+` `1``));  ` ` `  `    ``# Required sum for the even array  ` `    ``reqSum ``=` `(evenSumMax ``-`  `              ``evenSumMin ``+` `minEven);  ` ` `  `    ``# Missing even number  ` `    ``print``(``"Even ="``, reqSum ``-`  `                    ``sumEvenArr);  ` ` `  `    ``# Total terms from 1 to minOdd  ` `    ``totalTerms ``=` `(minOdd ``/``/` `2``) ``+` `1``;  ` ` `  `    ``# Sum of all odd numbers from  ` `    ``# 1 to minOdd  ` `    ``oddSumMin ``=` `totalTerms ``*` `totalTerms;  ` ` `  `    ``# Total terms from 1 to maxOdd  ` `    ``totalTerms ``=` `(maxOdd ``/``/` `2``) ``+` `1``;  ` ` `  `    ``# Sum of all odd numbers from ` `    ``# 1 to maxOdd  ` `    ``oddSumMax ``=` `totalTerms ``*` `totalTerms;  ` ` `  `    ``# Required sum for the odd array  ` `    ``reqSum ``=` `(oddSumMax ``-`  `              ``oddSumMin ``+` `minOdd);  ` ` `  `    ``# Missing odd number  ` `    ``print``(``"Odd ="``, reqSum ``-` `sumOddArr);  ` ` `  `# Driver code  ` `if` `__name__ ``=``=` `"__main__"` `:  ` `     `  `    ``even ``=` `[ ``6``, ``4``, ``8``, ``14``, ``10` `];  ` `    ``sizeEven ``=` `len``(even) ` `    ``odd ``=` `[ ``7``, ``5``, ``3``, ``11``, ``13` `];  ` `    ``sizeOdd ``=` `len``(odd) ; ` `    ``findMissingNums(even, sizeEven,  ` `                    ``odd, sizeOdd);  ` ` `  `# This code is contributed by Ryuga `

## C#

 `// C# implementation of the approach ` `using` `System; ` ` `  `class` `GFG ` `{ ` `     `  `// Function to find the missing numbers ` `static` `void` `findMissingNums(``int` `[]even, ``int` `sizeEven,  ` `                            ``int` `[]odd, ``int` `sizeOdd) ` `{ ` ` `  `    ``// To store the minimum and the maximum ` `    ``// odd and even elements from the arrays ` `    ``int` `minEven =``int``.MaxValue; ` `    ``int` `maxEven =``int``.MinValue; ` `    ``int` `minOdd = ``int``.MaxValue; ` `    ``int` `maxOdd = ``int``.MinValue; ` ` `  `    ``// To store the sum of the array elements ` `    ``int` `sumEvenArr = 0, sumOddArr = 0; ` ` `  `    ``// Get the minimum and the maximum ` `    ``// even elements from the array ` `    ``for` `(``int` `i = 0; i < sizeEven; i++) ` `    ``{ ` `        ``minEven = Math.Min(minEven, even[i]); ` `        ``maxEven = Math.Max(maxEven, even[i]); ` `        ``sumEvenArr += even[i]; ` `    ``} ` ` `  `    ``// Get the minimum and the maximum ` `    ``// odd elements from the array ` `    ``for` `(``int` `i = 0; i < sizeOdd; i++)  ` `    ``{ ` `        ``minOdd = Math.Min(minOdd, odd[i]); ` `        ``maxOdd = Math.Max(maxOdd, odd[i]); ` `        ``sumOddArr += odd[i]; ` `    ``} ` ` `  `    ``// To store the total terms in the series ` `    ``// and the required sum of the array ` `    ``int` `totalTerms = 0, reqSum = 0; ` ` `  `    ``// Total terms from 2 to minEven ` `    ``totalTerms = minEven / 2; ` ` `  `    ``// Sum of all even numbers ` `    ``// from 2 to minEven ` `    ``int` `evenSumMin = (totalTerms *  ` `                    ``(totalTerms + 1)); ` ` `  `    ``// Total terms from 2 to maxEven ` `    ``totalTerms = maxEven / 2; ` ` `  `    ``// Sum of all even numbers from  ` `    ``// 2 to maxEven ` `    ``int` `evenSumMax = (totalTerms *  ` `                    ``(totalTerms + 1)); ` ` `  `    ``// Required sum for the even array ` `    ``reqSum = evenSumMax - evenSumMin + minEven; ` ` `  `    ``// Missing even number ` `    ``Console.WriteLine(``"Even = "` `+  ` `                    ``(reqSum - sumEvenArr)); ` ` `  `    ``// Total terms from 1 to minOdd ` `    ``totalTerms = (minOdd / 2) + 1; ` ` `  `    ``// Sum of all odd numbers  ` `    ``// from 1 to minOdd ` `    ``int` `oddSumMin = totalTerms * totalTerms; ` ` `  `    ``// Total terms from 1 to maxOdd ` `    ``totalTerms = (maxOdd / 2) + 1; ` ` `  `    ``// Sum of all odd numbers  ` `    ``// from 1 to maxOdd ` `    ``int` `oddSumMax = totalTerms * totalTerms; ` ` `  `    ``// Required sum for the odd array ` `    ``reqSum = oddSumMax - oddSumMin + minOdd; ` ` `  `    ``// Missing odd number ` `    ``Console.WriteLine(``"Odd = "` `+  ` `                    ``(reqSum - sumOddArr)); ` `} ` ` `  `// Driver code ` `static` `void` `Main() ` `{ ` `    ``int` `[]even = { 6, 4, 8, 14, 10 }; ` `    ``int` `sizeEven = even.Length; ` `    ``int` `[]odd = { 7, 5, 3, 11, 13 }; ` `    ``int` `sizeOdd = odd.Length; ` `    ``findMissingNums(even, sizeEven,  ` `                    ``odd, sizeOdd); ` `} ` `} ` ` `  `// This code is contributed  ` `// by chandan_jnu `

## PHP

 ` `

Output:

```Even = 12
Odd = 9
```

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.