Write a function that returns 2 for input 1 and returns 1 for 2

Write a function which returns 1 that 2 is passed and return 2 when 1 is passed.

Source: Adobe Interview Experience | Set 19 (For MTS)

A simple solution is to compare the passed value with 1 and 2.

int invert(int x)
{
   if (x == 1) return 2;
   else return 1;
}

Another solution is to use subtraction

int invertSub(int x)
{
   return (3-x);
}

We can also use bitwise xor operator.

int invertXOR(int x)
{
   return (x ^ 1 ^ 2);
}

This article is contributed by Anuj. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

GATE CS Corner    Company Wise Coding Practice

Recommended Posts:







Writing code in comment? Please use ide.geeksforgeeks.org, generate link and share the link here.