Comprobar si el número está equilibrado

Dado un número N en forma de string, la tarea es comprobar si el número dado está equilibrado o no .

Número equilibrado: se dice que un número está equilibrado si la suma de los dígitos de la primera mitad es igual a la suma de los dígitos de la segunda mitad. 
Nota: Todos los números palindrómicos son números balanceados. 

Ejemplos:

Entrada: N = 19091 
Salida: Balanceado 
Explicación: 
el elemento central es 0 
Suma de la mitad izquierda = 1 + 9 = 10 
Suma de la mitad derecha = 9 + 1 = 10 
Por lo tanto, el número dado es un número balanceado.

Entrada: N = 133423 
Salida: No balanceado 
Explicación: 
Suma de la mitad izquierda = 1 + 3 + 3 (7) 
Suma de la mitad derecha = 4 + 2 + 3 (9) 
Por lo tanto, el número dado no está balanceado 

Enfoque:
iterar más de la mitad de la longitud del número desde el principio. Calcule la suma de dígitos de la primera mitad y la segunda mitad simultáneamente sumando s[i] y s[número de dígitos – 1 – i] a leftSum y rightSum respectivamente. Finalmente, verifique si leftSum y rightSum son iguales o no.

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

C++

// C++ program to check
// if a number is
// Balanced or not
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to check whether N is
// Balanced Number or not
void BalancedNumber(string s)
{
    int Leftsum = 0;
    int Rightsum = 0;
 
    // Calculating the Leftsum
    // and rightSum simultaneously
    for (int i = 0; i < s.size() / 2; i++) {
 
        // Typecasting each character
        // to integer and adding the
        // digit to respective sums
        Leftsum += int(s[i] - '0');
        Rightsum += int(s[s.size() - 1 - i]
                        - '0');
    }
 
    if (Leftsum == Rightsum)
        cout << "Balanced" << endl;
    else
        cout << "Not Balanced" << endl;
}
 
// Driver Code
int main()
{
    string s = "12321";
 
    // Function call
    BalancedNumber(s);
 
    return 0;
}

Java

// Java program to check if a number
// is Balanced or not
import java.io.*;
 
class GFG{
   
// Function to check whether N is
// Balanced Number or not
private static void BalancedNumber(String s)
{
    int Leftsum = 0;
    int Rightsum = 0;
     
    // Calculating the Leftsum
    // and rightSum simultaneously
    for(int i = 0; i < s.length() / 2; i++)
    {
         
        // Typecasting each character
        // to integer and adding the
        // digit to respective sums
        Leftsum += (int)(s.charAt(i) - '0');
        Rightsum += (int)(s.charAt(
            s.length() - 1 - i) - '0');
    }
     
    if (Leftsum == Rightsum)
        System.out.println("Balanced");
    else
        System.out.println("Not Balanced");
}
 
// Driver Code
public static void main (String[] args)
{
    String s = "12321";
     
    // Function call
    BalancedNumber(s);
}
}
 
// This code is contributed by jithin

Python3

# Python3 program to check
# if a number is
# Balanced or not
 
# Function to check whether N is
# Balanced Number or not
def BalancedNumber(s):
 
    Leftsum = 0
    Rightsum = 0
 
    # Calculating the Leftsum
    # and rightSum simultaneously
    for i in range(0, int(len(s) / 2)):
 
        # Typecasting each character
        # to integer and adding the
        # digit to respective sums
        Leftsum = Leftsum + int(s[i])
        Rightsum = (Rightsum +
                    int(s[len(s) - 1 - i]))
 
    if (Leftsum == Rightsum):
        print("Balanced", end = '\n')
    else:
        print("Not Balanced", end = '\n')
 
# Driver Code
s = "12321"
 
# Function call
BalancedNumber(s)
 
# This code is contributed by PratikBasu

C#

// C# program to check
// if a number is
// Balanced or not
using System;
class GFG{
     
// Function to check whether N is
// Balanced Number or not
static void BalancedNumber(string s)
{
  int Leftsum = 0;
  int Rightsum = 0;
 
  // Calculating the Leftsum
  // and rightSum simultaneously
  for (int i = 0; i < s.Length / 2; i++)
  {
    // Typecasting each character
    // to integer and adding the
    // digit to respective sums
    Leftsum += (int)(Char.GetNumericValue(s[i]) -
                     Char.GetNumericValue('0'));
    Rightsum += (int)(Char.GetNumericValue(s[s.Length -
                                             1 - i]) -
                      Char.GetNumericValue('0'));
  }
 
  if (Leftsum == Rightsum)
    Console.WriteLine("Balanced");
  else
    Console.WriteLine("Not Balanced");
} 
 
// Driver code
static void Main()
{
  string s = "12321";
 
  // Function call
  BalancedNumber(s);
}
}
 
// This code is contributed by divyeshrabadiya07

Javascript

<script>
 
// JavaScript program to check if a number
// is Balanced or not
 
// Function to check whether N is
// Balanced Number or not
function BalancedNumber(s)
{
    let Leftsum = 0;
    let Rightsum = 0;
      
    // Calculating the Leftsum
    // and rightSum simultaneously
    for(let i = 0; i < s.length / 2; i++)
    {
          
        // Typecasting each character
        // to integer and adding the
        // digit to respective sums
        Leftsum += (s[i] - '0');
        Rightsum += (s[
            s.length - 1 - i] - '0');
    }
      
    if (Leftsum == Rightsum)
        document.write("Balanced");
    else
        document.write("Not Balanced");
}
     
// Driver Code
 
    let s = "12321";
      
    // Function call
    BalancedNumber(s);
           
</script>
Producción: 

Balanced

 

Publicación traducida automáticamente

Artículo escrito por hrishikeshkonderu 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 *