Encuentre el valor faltante de la ecuación dada a + b = c

Dada una ecuación de la forma: 

a + b = c 
 

Fuera de los cuales falta alguno de los términos  a       b       o  . c       La tarea es encontrar el término que falta.

Ejemplos :  

Input: 2 + 6 = ?
Output: 8

Input: ? + 3 =6
Output: 3

Enfoque: Los números que faltan se pueden encontrar simplemente usando la ecuación  a + b = c       . Primero, encontraremos dos números conocidos de la ecuación dada (leídos como una string en el programa) y los convertiremos en números enteros y los pondremos en la ecuación. De esta manera, podemos encontrar el tercer número que falta. Podemos implementarlo almacenando la ecuación en la string.

A continuación se muestra el algoritmo paso a paso: 

  • Divida la string en strings más pequeñas desde la posición de los espacios y guárdela en una array. Para que la array contenga:
arr[0] = "a"
arr[1] = "+"
arr[2] = "b"
arr[3] = "="
arr[4] = "c"
  • El carácter que falta puede ocurrir en la posición 0 o 2 o 4 en el vector. Encuentra la posición del personaje que falta.
  • Convierte caracteres conocidos en números enteros.
  • Encuentra el carácter faltante usando la ecuación.

A continuación se muestra la implementación del enfoque anterior:  

C++

// 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 = c
int 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 code
int main()
{
    // Equation with missing value
    string str = "? + 3 = 7";
     
    cout<<findMissing(str);
 
    return 0;   
}

Java

// Java program to find the missing number
// in the equation a + b = c
import java.util.*;
 
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 = 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 code
public 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

# Python3 program to find the missing number
# in the equation a + b = c
   
# Function to find the missing number
# in the equation a + b = c
def 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 code
if __name__=='__main__':
     
    # Equation with missing value
    s = "? + 3 = 7";
     
    print(findMissing(s))
 
    # This code is contributed by rutvik_56

C#

// C# program to find the missing number
// in the equation a + b = c
using 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.

Javascript

<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>
Producción: 

4

 

Publicación traducida automáticamente

Artículo escrito por SURENDRA_GANGWAR y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *