Check if the number is balanced

07 May, 2021
Given a number N in the form of a string, the task is to check whether the given number is balanced or not.
Balanced Number: A number is said to be balanced if the sum of digits in the first half of it is equal to the sum of the digits in the second half. Note: All Palindromic numbers are balanced numbers. 
Examples:
Input: N = 19091 Output: Balanced Explanation: middle element is 0 Sum of left half = 1 + 9 = 10 Sum of right half = 9 + 1 = 10 Hence, the given number is a Balanced number.
Input: N = 133423 Output: Not Balanced Explanation: Sum of left half = 1 + 3 + 3 (7) Sum of right half = 4 + 2 + 3 (9) Hence, the given number is not Balanced 
Approach:Iterate over half the length of the number from the beginning. Calculate the sum of digits of the first half and the second half simultaneously by adding s[i] and s[number of digits – 1 – i] to leftSum and rightSum respectively. Finally, check if the leftSum and rightSum are equal or not.
Below is the implementation of the above approach.  
C++
Java
Python3
C#
Javascript
// 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 notvoid 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 Codeint main(){    string s = "12321";     // Function call    BalancedNumber(s);     return 0;}
// Java program to check if a number// is Balanced or notimport java.io.*; class GFG{   // Function to check whether N is// Balanced Number or notprivate 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 Codepublic static void main (String[] args){    String s = "12321";         // Function call    BalancedNumber(s);}} // This code is contributed by jithin
# Python3 program to check# if a number is# Balanced or not # Function to check whether N is# Balanced Number or notdef 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 Codes = "12321" # Function callBalancedNumber(s) # This code is contributed by PratikBasu
// C# program to check// if a number is// Balanced or notusing System;class GFG{     // Function to check whether N is// Balanced Number or notstatic 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 codestatic void Main(){  string s = "12321";   // Function call  BalancedNumber(s);}} // This code is contributed by divyeshrabadiya07
<script> // JavaScript program to check if a number// is Balanced or not // Function to check whether N is// Balanced Number or notfunction 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>
Balanced
 
PratikBasu
divyeshrabadiya07
jithin
code_hunt
number-digits
Mathematical
Strings
Strings
Mathematical
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Algorithm to solve Rubik's Cube
Merge two sorted arrays with O(1) extra space
Program to print prime numbers from 1 to N.
Find next greater number with same set of digits
Segment Tree | Set 1 (Sum of given range)
Write a program to reverse an array or string
Reverse a string in Java
Check for Balanced Brackets in an expression (well-formedness) using Stack
Different Methods to Reverse a String in C++
Longest Common Subsequence | DP-4