Open In App

Check if two numbers have same number of digits

Improve
Improve
Like Article
Like
Save
Share
Report

Given two integers A and B, the task is to check whether both the numbers have an equal number of digits.
Examples: 
 

Input: A = 12, B = 1 
Output: No
Input: A = 20, B = 99 
Output: Yes 
 

Approach: While both the numbers are > 0, keep dividing both the numbers by 10. Finally, check if both the numbers are 0. If any one of them is not 0 then they had an unequal numbers of digits.
Below is the implementation of the above approach: 
 

C++




// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
 
// Function that return true if A and B
// have same number of digits
bool sameLength(int A, int B)
{
    while (A > 0 && B > 0) {
        A = A / 10;
        B = B / 10;
    }
 
    // Both must be 0 now if
    // they had same lengths
    if (A == 0 && B == 0)
        return true;
    return false;
}
 
// Driver code
int main()
{
    int A = 21, B = 1;
 
    if (sameLength(A, B))
        cout << "Yes";
    else
        cout << "No";
 
    return 0;
}


Java




// Java implementation of the approach
import java.io.*;
 
class GFG
{
     
// Function that return true if A and B
// have same number of digits
static boolean sameLength(int A, int B)
{
    while ((A > 0) && (B > 0))
    {
        A = A / 10;
        B = B / 10;
    }
 
    // Both must be 0 now if
    // they had same lengths
    if ((A == 0 )&& (B == 0))
        return true;
    return false;
}
 
// Driver code
public static void main (String[] args)
{
 
    int A = 21, B = 1;
    if (sameLength(A, B))
        System.out.println ("Yes");
    else
        System.out.println("No");
 
}
}
 
// This code is contributed by @tushil.


Python3




     
# Python implementation of the approach
 
# Function that return true if A and B
# have same number of digits
def sameLength(A, B):
    while (A > 0 and B > 0):
        A = A / 10;
        B = B / 10;
 
    # Both must be 0 now if
    # they had same lengths
    if (A == 0 and B == 0):
        return True;
    return False;
 
# Driver code
A = 21; B = 1;
 
if (sameLength(A, B)):
    print("Yes");
else:
    print("No");
 
# This code contributed by PrinciRaj1992


C#




// C# implementation of the approach
using System;
 
class GFG
{
         
// Function that return true if A and B
// have same number of digits
static bool sameLength(int A, int B)
{
    while ((A > 0) && (B > 0))
    {
        A = A / 10;
        B = B / 10;
    }
 
    // Both must be 0 now if
    // they had same lengths
    if ((A == 0 )&& (B == 0))
        return true;
    return false;
}
 
// Driver code
static public void Main ()
{
         
    int A = 21, B = 1;
    if (sameLength(A, B))
            Console.WriteLine("Yes");
    else
        Console.WriteLine("No");
 
}
}
 
// This code is contributed by ajit..


Javascript




<script>
 
// Javascript implementation of the approach
 
// Function that return true if A and B
// have same number of digits
function sameLength(A, B)
{
    while (A > 0 && B > 0) {
        A = parseInt(A / 10);
        B = parseInt(B / 10);
    }
 
    // Both must be 0 now if
    // they had same lengths
    if (A == 0 && B == 0)
        return true;
    return false;
}
 
// Driver code
    let A = 21, B = 1;
 
    if (sameLength(A, B))
        document.write("Yes");
    else
        document.write("No");
 
</script>


Output: 

No

 

Time Complexity: O(log10(min(A, B)))

Auxiliary Space: O(1)



Last Updated : 31 May, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads