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

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.