# 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``#include``using` `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<``int``> 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 format``import` `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's``def` `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 code``if` `__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 format``using` `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<``int``> ``set` `= ``new` `HashSet<``int``>();`` ` `        ``// 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``#include``using` `namespace` `std;` `// Function that returns true if``// given number is in binary format``// i.e. number contains only 0's and/or 1's``int` `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``int` `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's``def` `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 code``if` `__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