# Check if the given decimal number has 0 and 1 digits only

• Difficulty Level : Hard
• Last Updated : 25 Jun, 2022

Given an integer n, the task is to check whether n is in binary or not. Print true if n is the binary representation else print false.

Examples:

Input: n = 1000111
Output: true

Input: n = 123
Output: false

Method #1: Using Set First add all the digits of n into a set after that remove 0 and 1 from the set, if the size of the set becomes 0 then the number is in binary format.

Below is the implementation of the above approach:

## C++

 // C++ program to check whether the given number// is in binary format#includeusing namespace std;    // Function that returns true if given number    // is in binary format  i.e. number contains    // only 0's and/or 1's    bool isBinary(int number)    {        set set;          // Put all the digits of the number in the set        while (number > 0) {            int digit = number % 10;            set.insert(digit);            number /= 10;        }          // Since a HashSet does not allow duplicates so only        // a single copy of '0' and '1' will be stored        set.erase(0);        set.erase(1);          // If the original number only contained 0's and 1's        // then size of the set must be 0        if (set.size() == 0) {            return true;        }        return false;    }      // Driver code    int main()    {        int n = 1000111;        if(isBinary(n)==1)            cout<<"true"<

## Java

 // Java program to check whether the given number// is in binary formatimport java.util.HashSet;import java.util.Set; class GFG {     // Function that returns true if given number    // is in binary format  i.e. number contains    // only 0's and/or 1's    static boolean isBinary(int number)    {        Set set = new HashSet<>();         // Put all the digits of the number in the set        while (number > 0) {            int digit = number % 10;            set.add(digit);            number /= 10;        }         // Since a HashSet does not allow duplicates so only        // a single copy of '0' and '1' will be stored        set.remove(0);        set.remove(1);         // If the original number only contained 0's and 1's        // then size of the set must be 0        if (set.size() == 0) {            return true;        }        return false;    }     // Driver code    public static void main(String a[])    {        int n = 1000111;        System.out.println(isBinary(n));    }}

## Python3

 # Python 3 program to check whether# the given number is in binary format # Function that returns true if given# number is in binary format i.e. number# contains only 0's and/or 1'sdef isBinary(number):    set1 = set()     # Put all the digits of the    # number in the set    while(number > 0):        digit = number % 10        set1.add(digit)        number = int(number / 10)     # Since a HashSet does not allow    # duplicates so only a single copy    # of '0' and '1' will be stored    set1.discard(0)    set1.discard(1)         # If the original number only    # contained 0's and 1's then    # size of the set must be 0    if (len(set1) == 0):        return True     return False     # Driver codeif __name__ == '__main__':    n = 1000111    if(isBinary(n) == 1):        print("true")    else:        print("No") # This code is contributed by# Surendra_Gangwar

## C#

 // C# program to check whether the given number// is in binary formatusing System;using System.Collections.Generic;public class GFG {      // Function that returns true if given number    // is in binary format  i.e. number contains    // only 0's and/or 1's    static bool isBinary(int number)    {        HashSet set = new HashSet();          // Put all the digits of the number in the set        while (number > 0) {            int digit = number % 10;            set.Add(digit);            number /= 10;        }          // Since a HashSet does not allow duplicates so only        // a single copy of '0' and '1' will be stored        set.Remove(0);        set.Remove(1);          // If the original number only contained 0's and 1's        // then size of the set must be 0        if (set.Count == 0) {            return true;        }        return false;    }      // Driver code    public static void Main()    {        int n = 1000111;        Console.WriteLine(isBinary(n));    }}//This code is contributed by Rajput-Ji

## Javascript



Output:

true

Time Complexity: O(logN), as we are using a loop to traverse logN times as in each traversal we are decrementing N by floor division of 10.

Auxiliary Space: O(logN), as we are using extra space for the set.

Method #2: Native Way

## C++

 // C++ program to check whether the// given number is in binary format#includeusing namespace std; // Function that returns true if// given number is in binary format// i.e. number contains only 0's and/or 1'sint isBinary(int number){    while (number > 0)    {        int digit = number % 10;         // If digit is other than 0 and 1        if (digit > 1)            return false;        number /= 10;    }    return true;} // Driver codeint main(){  int n = 1000111;  if (isBinary(n) == 1)    cout << "true";  else    cout << "false"; // This code is contributed// by Shivi_Aggarwal}

## Java

 // Java program to check whether the// given number is in binary format class GFG {     // Function that returns true if    // given number is in binary format    // i.e. number contains only 0's and/or 1's    static boolean isBinary(int number)    {        while (number > 0) {            int digit = number % 10;             // If digit is other than 0 and 1            if (digit > 1)                return false;            number /= 10;        }        return true;    }     // Driver code    public static void main(String a[])    {        int n = 1000111;        System.out.println(isBinary(n));    }}

## Python3

 # Python3 program to check whether the# given number is in binary format # Function that returns true if# given number is in binary format# i.e. number contains only 0's and/or 1'sdef isBinary(number):     while (number > 0):        digit = number % 10         # If digit is other than 0 and 1        if (digit > 1):            return False        number //= 10         return True # Driver codeif __name__ == "__main__":     n = 1000111    if (isBinary(n) == 1):        print ("true")    else:        print ("false") # This code is contributed by ita_c

## C#

 // C# program to check whether the// given number is in binary format using System; class GFG {     // Function that returns true if    // given number is in binary format    // i.e. number contains only 0's and/or 1's    static bool isBinary(int number)    {        while (number > 0) {            int digit = number % 10;             // If digit is other than 0 and 1            if (digit > 1)                return false;            number /= 10;        }        return true;    }     // Driver code    static void Main()    {        int n = 1000111;        Console.WriteLine(isBinary(n));    }    // This code is contributed by Ryuga}

## PHP

 0)    {        \$digit = \$number % 10;         // If digit is other than 0 and 1        if (\$digit > 1)            return false;        \$number /= 10;    }    return true;} // Driver code\$n = 1000111;if (isBinary(\$n) == 1)    echo "true";else    echo "false"; // This code is contributed// by Mukul Singh

## Javascript



Output

true

Time Complexity: O(logN), as we are using a loop to traverse logN times as in each traversal we are decrementing N by floor division of 10.

Auxiliary Space: O(1), as we are not using any extra space.

My Personal Notes arrow_drop_up