Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

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. 
 

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.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

 

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 <bits/stdc++.h>
using namespace std;
 
// function to check whether the number has only
// first and last bits set
bool onlyFirstAndLastAreSet(unsigned int n)
{
    if (n == 1)
        return true;
    if (n == 2)
        return false;
    return (((n - 1) & (n - 2)) == 0);
}
 
// Driver program to test above
int 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 set
static boolean onlyFirstAndLastAreSet(int n)
{
    if (n == 1)
        return true;
    if (n == 2)
        return false;
    return (((n - 1) &
             (n - 2)) == 0);
}
 
// Driver Code
public 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 set
def onlyFirstAndLastAreSet(n):
 
    if (n == 1):
        return True
    if (n == 2):
        return False
 
    return (((n - 1) &
             (n - 2)) == 0)
 
# Driver Code
n = 9
if (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 set
using System;
 
class GFG
{
// function to check whether
// the number has only
// first and last bits set
static bool onlyFirstAndLastAreSet(int n)
{
    if (n == 1)
        return true;
    if (n == 2)
        return false;
    return (((n - 1) &
             (n - 2)) == 0);
}
 
// Driver Code
public static void Main()
{
    int n = 9;
    if (onlyFirstAndLastAreSet(n))
        Console.Write("Yes");
    else
        Console.Write("No");
}
}
 
// This code is contributed
// by Smitha

PHP




<?php
// PHP to check whether the
// number has only first and
// last bits set
 
// function to check whether
// the number has only first
// and last bits set
function onlyFirstAndLastAreSet($n)
{
    if ($n == 1)
        return true;
    if ($n == 2)
        return false;
    return ((($n - 1) &
             ($n - 2)) == 0);
}
 
// Driver Code
$n = 9;
if (onlyFirstAndLastAreSet($n))
    echo "Yes";
else
    echo "No";
     
// This code is contributed
// by Smitha
?>

Javascript




<script>
 
// javascript to check whether
// the number has only
// first and last bits set
 
// function to check whether
// the number has only
// first and last bits set
function onlyFirstAndLastAreSet(n)
{
    if (n == 1)
        return true;
    if (n == 2)
        return false;
    return (((n - 1) &
             (n - 2)) == 0);
}
 
// Driver Code
 
var n = 9;
if (onlyFirstAndLastAreSet(n))
    document.write("Yes");
else
    document.write("No");
 
// This code contributed by shikhasingrajput
 
</script>
Output: 
Yes

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!