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 <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; } |
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
<?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 ?> |
Javascript
<script> // JavaScript program implementation to find 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 let n = 10; if (isFibbinaryNum(n) == true ) document.write( "Yes" ); else document.write( "No" ); // This code is contributed by souravghosh0416. </script> |
Output :
Yes
Time Complexity: O(1).
Auxiliary Space: O(1).
Please Login to comment...