 GeeksforGeeks App
Open App Browser
Continue

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

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