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

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.

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

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

 ` `

Output:

```Yes
```

My Personal Notes arrow_drop_up

Improved By : Smitha Dinesh Semwal

Article Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.