 Open in App
Not now

# Fibbinary Numbers (No consecutive 1s in binary) – O(1) Approach

• Difficulty Level : Medium
• Last Updated : 15 Jun, 2022

Given a positive integer n. The problem is to check if the number is Fibbinary Number or not. Fibbinary numbers are integers whose binary representation contains no consecutive ones.
Examples :

```Input : 10
Output : Yes
Explanation: 1010 is the binary representation
of 10 which does not contains any
consecutive 1's.

Input : 11
Output : No
Explanation: 1011 is the binary representation
of 11, which contains consecutive
1's.```

Approach: If (n & (n >> 1)) == 0, then ‘n’ is a fibbinary number Else not.

## C++

 `// C++ implementation to check whether a number` `// is fibbinary or not` `#include ` `using` `namespace` `std;`   `// function to check whether a number` `// is fibbinary or not` `bool` `isFibbinaryNum(unsigned ``int` `n) {`   `  ``// if the number does not contain adjacent ones` `  ``// then (n & (n >> 1)) operation results to 0` `  ``if` `((n & (n >> 1)) == 0)` `    ``return` `true``;`   `  ``// not a fibbinary number` `  ``return` `false``;` `}`   `// Driver program to test above` `int` `main() {` `  ``unsigned ``int` `n = 10;` `  ``if` `(isFibbinaryNum(n))` `    ``cout << ``"Yes"``;` `  ``else` `    ``cout << ``"No"``;` `  ``return` `0;` `}`

## Java

 `// Java implementation to check whether ` `// a number is fibbinary or not` `class` `GFG {` `    `  `    ``// function to check whether a number` `    ``// is fibbinary or not` `    ``static` `boolean` `isFibbinaryNum(``int` `n) {` `    `  `        ``// if the number does not contain ` `        ``// adjacent ones then (n & (n >> 1)) ` `        ``// operation results to 0` `        ``if` `((n & (n >> ``1``)) == ``0``)` `            ``return` `true``;` `        `  `        ``// not a fibbinary number` `        ``return` `false``;` `    ``}` `    `  `    ``// Driver program to test above` `    ``public` `static` `void` `main(String[] args) {`   `        ``int` `n = ``10``;`   `        ``if` `(isFibbinaryNum(n) == ``true``)` `            ``System.out.println(``"Yes"``);` `        ``else` `            ``System.out.println(``"No"``);` `    ``}` `}`   `// This code is contributed by` `// Smitha Dinesh Semwal`

## Python3

 `# Python3 program to check if a number ` `# is fibbinary number or not `   `# function to check whether a number` `# is fibbinary or not` `def` `isFibbinaryNum( n):` `    `  `    ``# if the number does not contain adjacent` `    ``# ones then (n & (n >> 1)) operation ` `    ``# results to 0` `    ``if` `((n & (n >> ``1``)) ``=``=` `0``):` `        ``return` `1` `        `  `    ``# Not a fibbinary number` `    ``return` `0`   `# Driver code` `n ``=` `10`   `if` `(isFibbinaryNum(n)):` `    ``print``(``"Yes"``)` `else``:` `    ``print``(``"No"``)` `    `  `# This code is contributed by sunnysingh `

## C#

 `// C# implementation to check whether ` `// a number is fibbinary or not` `using` `System;`   `class` `GFG {` `    `  `    ``// function to check whether a number` `    ``// is fibbinary or not` `    ``static` `bool` `isFibbinaryNum(``int` `n) {` `    `  `        ``// if the number does not contain ` `        ``// adjacent ones then (n & (n >> 1)) ` `        ``// operation results to 0` `        ``if` `((n & (n >> 1)) == 0)` `            ``return` `true``;` `        `  `        ``// not a fibbinary number` `        ``return` `false``;` `    ``}` `    `  `    ``// Driver program to test above` `    ``public` `static` `void` `Main() {`   `        ``int` `n = 10;`   `        ``if` `(isFibbinaryNum(n) == ``true``)` `            ``Console.WriteLine(``"Yes"``);` `        ``else` `            ``Console.WriteLine(``"No"``);` `    ``}` `}`   `// This code is contributed by vt_m.`

## PHP

 `> 1)) ` `    ``// operation results to 0` `    ``if` `((``\$n` `& (``\$n` `>> 1)) == 0)` `        ``return` `true;` `    `  `    ``// not a fibbinary number` `    ``return` `false;` `}`   `// Driver code` `\$n` `= 10;` `if` `(isFibbinaryNum(``\$n``))` `    ``echo` `"Yes"``;` `else` `    ``echo` `"No"``;`   `// This code is contributed by mits ` `?>`

## Javascript

 ``

Output :

`Yes`

Time Complexity: O(1).
Auxiliary Space: O(1).

My Personal Notes arrow_drop_up
Related Articles