Related Articles

# Find the missing digit x from the given expression

• Difficulty Level : Easy
• Last Updated : 17 Sep, 2020

Given an alphanumeric string, consisting of a single alphabet X, which represents an expression of the form:

A operator B = C
where A, B and C denotes integers and the operator can be either of +, -, * or /

The task is to evaluate the missing digit X present in any of the integers A, B and C such that the given expression holds to be valid.

Examples:

Input: S = “3x + 12 = 46”
Output: 4
Explanation:
If we subtract 12 from 46, we will get 34.
So, on comparing 3x and 34. the value of x = 4

Input: S = “4 – 2 = x”
Output: 2
Explanation:
After solving the equation, the value of x = 2.

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

Approach: Follow the steps below to solve the problem:

• Split the string to extract the two operands, operator and the resultant.
• Check if X is present in the resultant or not. If so, then compute the value of the resultant by applying operations on the first operand and second operand with the operator.
• Otherwise, if X is not present in the resultant. Then check if X is present in the first operand. If so, then apply the operation on the second operand and resultant with the operator.
• Otherwise, if X is not present in the first operand also. Then check if X is present in the second operand. If so, then apply the operation on the first operand and resultant with the operator.

Below is the implementation of the above approach:

## Python3

 `# Python3 program to find missing``# digit x in expression`` ` ` ` `def` `MissingDigit(exp):``   ` `    ``# Split the expression to``    ``# extract operands, operator``    ``# and resultant``    ``exp ``=` `list``(exp.split())`` ` `    ``first_operand ``=` `exp[``0``]``    ``operator ``=` `exp[``1``]``    ``second_operand ``=` `exp[``2``]``    ``resultant ``=` `exp[``-``1``]`` ` `    ``# If x is present in resultant``    ``if` `'x'` `in` `resultant:``        ``x ``=` `resultant``        ``first_operand ``=` `int``(first_operand)``        ``second_operand ``=` `int``(second_operand)`` ` `        ``if` `operator ``=``=` `'+'``:``            ``res ``=` `first_operand ``+` `second_operand``        ``elif` `operator ``=``=` `'-'``:``            ``res ``=` `first_operand ``-` `second_operand``        ``elif` `operator ``=``=` `'*'``:``            ``res ``=` `first_operand ``*` `second_operand``        ``else``:``            ``res ``=` `first_operand ``/``/` `second_operand`` ` `     ``# If x in present in operands``    ``else``:`` ` `        ``resultant ``=` `int``(resultant)`` ` `        ``# If x in the first operand``        ``if` `'x'` `in` `first_operand:`` ` `            ``x ``=` `first_operand``            ``second_operand ``=` `int``(second_operand)`` ` `            ``if` `operator ``=``=` `'+'``:``                ``res ``=` `resultant ``-` `second_operand``            ``elif` `operator ``=``=` `'-'``:``                ``res ``=` `resultant ``+` `second_operand``            ``elif` `operator ``=``=` `'*'``:``                ``res ``=` `resultant ``/``/` `second_operand``            ``else``:``                ``res ``=` `resultant ``*` `second_operand`` ` `        ``# If x is in the second operand``        ``else``:`` ` `            ``x ``=` `second_operand``            ``first_operand ``=` `int``(first_operand)`` ` `            ``if` `operator ``=``=` `'+'``:``                ``res ``=` `resultant``-``first_operand``            ``elif` `operator ``=``=` `'-'``:``                ``res ``=` `first_operand ``-` `resultant``            ``elif` `operator ``=``=` `'*'``:``                ``res ``=` `resultant ``/``/` `first_operand``            ``else``:``                ``res ``=` `first_operand ``/``/` `resultant`` ` `    ``res ``=` `str``(res)``    ``k ``=` `0``    ``for` `i ``in` `x:``        ``if` `i ``=``=` `'x'``:``            ``result ``=` `res[k]``            ``break``        ``else``:``            ``k ``=` `k ``+` `1`` ` `    ``return` `result`` ` ` ` `# Driver Code``if` `__name__ ``=``=` `'__main__'``:``    ``# input expression``    ``exp ``=` `"3x + 12 = 46"`` ` `    ``print``(MissingDigit(exp))`
Output:
```4
```

Time Complexity: O(L), where is the length of the equation.
Auxiliary Space: O(1)

Attention reader! All those who say programming isn’t for kids, just haven’t met the right mentors yet. Join the  Demo Class for First Step to Coding Coursespecifically designed for students of class 8 to 12.

The students will get to learn more about the world of programming in these free classes which will definitely help them in making a wise career choice in the future.

My Personal Notes arrow_drop_up