Check whether the number has only first and last bits set | Set 2

• Difficulty Level : Easy
• Last Updated : 08 Apr, 2021

Given a positive integer n, check whether only the first and last bits are set in the binary representation of n. Print ‘Yes’ or ‘No’.
Examples:

Input: 9
Output: Yes
(9)10 = (1001)2, only the first and
last bits are set.
Input: 15
Output: No
(15)10 = (1111)2, except first and last
there are other bits also which are set.

We have already discussed a solution here.
In this post, a simpler solution is discussed.

C++

 // C++ to check whether the number has only// first and last bits set#include using namespace std; // function to check whether the number has only// first and last bits setbool onlyFirstAndLastAreSet(unsigned int n){    if (n == 1)        return true;    if (n == 2)        return false;    return (((n - 1) & (n - 2)) == 0);} // Driver program to test aboveint main(){    unsigned int n = 9;    if (onlyFirstAndLastAreSet(n))        cout << "Yes";    else        cout << "No";     return 0;}

Java

 // Java to check whether// the number has only// first and last bits set class GFG{// function to check whether// the number has only// first and last bits setstatic boolean onlyFirstAndLastAreSet(int n){    if (n == 1)        return true;    if (n == 2)        return false;    return (((n - 1) &             (n - 2)) == 0);} // Driver Codepublic static void main(String[] args){    int n = 9;    if (onlyFirstAndLastAreSet(n))        System.out.println("Yes");    else        System.out.println("No");}} // This code is contributed// by Smitha

Python3

 # Python 3 to check whether# the number has only# first and last bits set # function to check whether# the number has only# first and last bits setdef onlyFirstAndLastAreSet(n):     if (n == 1):        return True    if (n == 2):        return False     return (((n - 1) &             (n - 2)) == 0) # Driver Coden = 9if (onlyFirstAndLastAreSet(n)):    print("Yes")else:    print("No")     # This code is contributed# by Smitha

C#

 // C# to check whether// the number has only// first and last bits setusing System; class GFG{// function to check whether// the number has only// first and last bits setstatic bool onlyFirstAndLastAreSet(int n){    if (n == 1)        return true;    if (n == 2)        return false;    return (((n - 1) &             (n - 2)) == 0);} // Driver Codepublic static void Main(){    int n = 9;    if (onlyFirstAndLastAreSet(n))        Console.Write("Yes");    else        Console.Write("No");}} // This code is contributed// by Smitha



Javascript


Output:
Yes

My Personal Notes arrow_drop_up