Find the missing value from the given equation a + b = c

20 May, 2021
Given an equation of the form: 
a + b = c  
Out of which any one of the terms , or is missing. The task is to find the missing term.
Examples:  
Input: 2 + 6 = ?
Output: 8

Input: ? + 3 =6
Output: 3
Approach: Missing numbers can be found simply using the equation . First, we will find two known numbers from the given equation(read as a string in the program) and convert them into integers, and put into the equation. In this way, we can find the third missing number. We can implement it by storing the equation into the string.
Below is the step by step algorithm: 
Split the string into smaller strings from the position of spaces and store in an array. So that the array will contain:
arr[0] = "a"
arr[1] = "+"
arr[2] = "b"
arr[3] = "="
arr[4] = "c"
The missing character can occur at position 0 or 2 or 4 in the vector. Find the position of missing character.
Convert known characters to integers.
Find missing character using the equation.
Below is the implementation of the above approach:  
C++
Java
Python3
C#
Javascript
// C++ program to find the missing number// in the equation a + b = c#include <bits/stdc++.h>using namespace std; // Function to find the missing number// in the equation a + b = cint findMissing(string str){    // Array of string to store individual strings    // after splitting the strings from spaces    string arrStr[5];         // Using stringstream to read a string object    // and split    stringstream ss(str);         int i = 0;         while (ss.good() && i < 5) {        ss >> arrStr[i];        ++i;    }         int pos = -1;         // Find position of missing character    if(arrStr[0] == "?")        pos = 0;    else if(arrStr[2] == "?")        pos = 2;    else        pos = 4;         if(pos == 0)    {        string b,c;        b = arrStr[2];        c = arrStr[4];                 // Using stoi() to convert strings to int        int a = stoi(c) - stoi(b);                 return a;    }    else if(pos==2)    {        string a,c;        a = arrStr[0];        c = arrStr[4];                 // Using stoi() to convert strings to int        int b = stoi(c) - stoi(a);                 return b;    }    else if(pos == 4)    {        string b,a;        a = arrStr[0];        b = arrStr[2];                 // Using stoi() to convert strings to int        int c = stoi(a) + stoi(b);                 return c;    }} // Driver codeint main(){    // Equation with missing value    string str = "? + 3 = 7";         cout<<findMissing(str);     return 0;   }
// Java program to find the missing number// in the equation a + b = cimport java.util.*; class GFG{ // Function to find the missing number// in the equation a + b = cstatic int findMissing(String str){         // Array of String to store individual    // strings after splitting the strings    // from spaces    String arrStr[] = str.split(" ");     int pos = -1;          // Find position of missing character    if (arrStr[0].equals("?"))        pos = 0;    else if (arrStr[2].equals("?"))        pos = 2;    else        pos = 4;             if (pos == 0)    {        String b, c;        b = arrStr[2];        c = arrStr[4];                  // Using Integer.parseInt() to        // convert strings to int        int a = Integer.parseInt(c) -                Integer.parseInt(b);                  return a;    }         else if (pos == 2)    {        String a, c;        a = arrStr[0];        c = arrStr[4];                  // Using Integer.parseInt() to        // convert strings to int        int b = Integer.parseInt(c) -                Integer.parseInt(a);                  return b;    }         else if (pos == 4)    {        String b, a;        a = arrStr[0];        b = arrStr[2];                  // Using Integer.parseInt() to        // convert strings to int        int c = Integer.parseInt(a) +                Integer.parseInt(b);                  return c;    }    return 0;}  // Driver codepublic static void main(String []args){         // Equation with missing value    String str = "? + 3 = 7";          System.out.print(findMissing(str));}} // This code is contributed by pratham76
# Python3 program to find the missing number# in the equation a + b = c   # Function to find the missing number# in the equation a + b = cdef findMissing(s):     # Array of string to store individual strings    # after splitting the strings from spaces    arrStr = s.split()           # Using stringstream to read a string object    # and split    pos = -1;           # Find position of missing character    if(arrStr[0] == "?"):        pos = 0;    elif(arrStr[2] == "?"):        pos = 2;    else:        pos = 4;           if(pos == 0):                 b = arrStr[2];        c = arrStr[4];                   # Using int() to convert strings to int        a = int(c) - int(b);                   return a;         elif(pos == 2):             a = arrStr[0];        c = arrStr[4];                   # Using int() to convert strings to int        b = int(c) - int(a);                   return b;         elif(pos == 4):             a = arrStr[0];        b = arrStr[2];                   # Using int() to convert strings to int        c = int(a) + int(b);                   return c;       # Driver codeif __name__=='__main__':         # Equation with missing value    s = "? + 3 = 7";         print(findMissing(s))     # This code is contributed by rutvik_56
// C# program to find the missing number// in the equation a + b = cusing System;class GFG{     // Function to find the missing number    // in the equation a + b = c    static int findMissing(string str)    {         // Array of String to store individual        // strings after splitting the strings        // from spaces        string[] arrStr = str.Split(" ");        int pos = -1;         // Find position of missing character        if (arrStr[0].Equals("?"))            pos = 0;        else if (arrStr[2].Equals("?"))            pos = 2;        else            pos = 4;        if (pos == 0)        {            string b, c;            b = arrStr[2];            c = arrStr[4];             // Using Integer.parseInt() to            // convert strings to int            int a = int.Parse(c) - int.Parse(b);            return a;        }        else if (pos == 2)        {            string a, c;            a = arrStr[0];            c = arrStr[4];             // Using Integer.parseInt() to            // convert strings to int            int b = int.Parse(c) - int.Parse(a);            return b;        }         else if (pos == 4)        {            string b, a;            a = arrStr[0];            b = arrStr[2];             // Using Integer.parseInt() to            // convert strings to int            int c = int.Parse(a) + int.Parse(b);            return c;        }        return 0;    }     // Driver code    public static void Main(string[] args)    {         // Equation with missing value        string str = "? + 3 = 7";        Console.WriteLine(findMissing(str));    }} // This code is contributed by chitranayal.
<script> // JavaScript program to find the missing number// in the equation a + b = c         // Function to find the missing number// in the equation a + b = c    function findMissing(str)    {        // Array of String to store individual    // strings after splitting the strings    // from spaces    let arrStr = str.split(" ");      let pos = -1;           // Find position of missing character    if (arrStr[0]==("?"))        pos = 0;    else if (arrStr[2]==("?"))        pos = 2;    else        pos = 4;              if (pos == 0)    {        let b, c;        b = arrStr[2];        c = arrStr[4];                   // Using Integer.parseInt() to        // convert strings to int        let a = parseInt(c) -                parseInt(b);                   return a;    }          else if (pos == 2)    {        let a, c;        a = arrStr[0];        c = arrStr[4];                   // Using Integer.parseInt() to        // convert strings to int        let b = parseInt(c) -                parseInt(a);                   return b;    }          else if (pos == 4)    {        let b, a;        a = arrStr[0];        b = arrStr[2];                   // Using Integer.parseInt() to        // convert strings to int        let c = parseInt(a) +                parseInt(b);                   return c;    }    return 0;    }         // Driver code    // Equation with missing value    let str = "? + 3 = 7";    document.write(findMissing(str));      // This code is contributed by rag2127 </script>
4
 
 
rutvik_56
pratham76
ukasp
rag2127
cpp-stringstream
Competitive Programming
Mathematical
Strings
Strings
Mathematical
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Modulo 10^9+7 (1000000007)
Prefix Sum Array - Implementation and Applications in Competitive Programming
Bits manipulation (Important tactics)
What is Competitive Programming and How to Prepare for It?
Count of strings whose prefix match with the given string to a given length k
Program for Fibonacci numbers
Set in C++ Standard Template Library (STL)
Write a program to print all permutations of a given string
C++ Data Types
Merge two sorted arrays