The XOR Gate

PROBLEM :

Construct an N input XOR Gate. An XOR Gate returns 1 if odd number of its inputs are 1, otherwise 0.

Input:
The first line of input takes the number of test cases, T. Then T test cases follow.Each test case consists of 2 lines. The first line of each test case takes the number of inputs to the XOR Gate, N. The second line of each test case takes N space separated integers denoting the inputs to the  XOR Gate. Note that the inputs can be either 1's or 0's.


Output:
For each test case on a new line print the output of the N input XOR Gate.

Constraints:

1<=T<=100
1<=N<=100

Example:

Input:

3
2
1 1
3
1 0 1
4
1 1 1 0

Output:
0
0
1

--------------------------------------------------------------------------------
SIMPLE c++ IMPLEMENTATION :
--------------------------------------------------------------------------------

#include<iostream>
using namespace std;
int result(int [],int ) ;
int main()
 {
int t,arr[100],i,no ;
cin>>t ;
while(t--)
{
   cin>>no ;
   for(i=0;i<no;i++)
       cin>>arr[i] ;
     
   cout<<result(arr,no) ;
   cout<<endl ;
}
return 0;
}

int result(int arr[],int no)
{
    int i ,ans ;
    ans=0 ;
   
    for(i=0;i<no;i++)
        ans=ans^arr[i] ;    // ^ (bitwise XOR) Takes two numbers as operand and does XOR on every bit                                    // of two numbers. The result of XOR is 1 if the two bits are different.
   
    return ans ;
}

---------------------------------------------------------------------------------

Comments

Popular posts from this blog

Count ways to N'th Stair(Order does not matter)

Replace all ‘0’ with ‘5’ in an input Integer

Chocolate Distribution Problem

Remove characters from the first string which are present in the second string

Primality Test ( CodeChef Problem code: PRB01 )