# 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; ` `} ` |

*chevron_right*

*filter_none*

Another solution is to **use subtraction**

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

*chevron_right*

*filter_none*

We can also **use bitwise xor operator**.

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

*chevron_right*

*filter_none*

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

## Recommended Posts:

- Write your own atoi()
- Write your own strcmp that ignores cases
- Write an Efficient C Program to Reverse Bits of a Number
- Write an Efficient Method to Check if a Number is Multiple of 3
- Python map function | Count total set bits in all numbers from 1 to n
- Function to check if a singly linked list is palindrome
- Count number of bits to be flipped to convert A to B | Set-2
- Adobe Interview Experience | (For member of Technical staff)
- Count Set-bits of number using Recursion
- Count smaller elements on right side and greater elements on left side using Binary Index Tree
- Equal Sum and XOR of three Numbers
- Find the number of pair of Ideal nodes in a given tree
- Adobe Interview Experience | Computer Scientist (5 yr Experience)
- Bit manipulation | Swap Endianness of a number