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 <bits/stdc++.h> ` `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; ` `} ` |

*chevron_right*

*filter_none*

## 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 ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 program to check if a number ` `# is fibinnary 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 ` |

*chevron_right*

*filter_none*

## 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. ` |

*chevron_right*

*filter_none*

## PHP

`<?php ` `// PHP implementation to check whether ` `// a number is fibbinary or not ` ` ` `// function to check whether a number ` `// is fibbinary or not ` `function` `isFibbinaryNum(` `$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 code ` `$n` `= 10; ` `if` `(isFibbinaryNum(` `$n` `)) ` ` ` `echo` `"Yes"` `; ` `else` ` ` `echo` `"No"` `; ` ` ` `// This code is contributed by mits ` `?> ` |

*chevron_right*

*filter_none*

**Output :**

Yes

Time Complexity: O(1).

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.

## Recommended Posts:

- Fibbinary Numbers (No consecutive 1s in binary)
- 1 to n bit numbers with no consecutive 1s in binary representation.
- 1 to n bit numbers with no consecutive 1s in binary representation
- Length of the Longest Consecutive 1s in Binary Representation
- Binary string with given frequencies of sums of consecutive pairs of characters
- Length of longest consecutive zeroes in the binary representation of a number.
- Find consecutive 1s of length >= n in binary representation of a number
- Maximum number of consecutive 1's in binary representation of all the array elements
- Minimum flips in a Binary array such that XOR of consecutive subarrays of size K have different parity
- Count number of binary strings without consecutive 1’s : Set 2
- Count of binary strings of length N with even set bit count and at most K consecutive 1s
- Check if a number can be expressed as a sum of consecutive numbers
- Sum of Hamming difference of consecutive numbers from 0 to N | Set 2
- Check if a number has bits in alternate pattern | Set-2 O(1) Approach
- A backtracking approach to generate n bit Gray Codes
- Longest sub-sequence with a given OR value : O(N) Approach
- Gray to Binary and Binary to Gray conversion
- Meta Binary Search | One-Sided Binary Search
- Check if binary representations of 0 to N are present as substrings in given binary string
- Count strings with consecutive 1's

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.