📌  相关文章
📜  检查一个数字是否有两个相邻的置位

📅  最后修改于: 2021-05-25 03:04:06             🧑  作者: Mango

给定一个数字,您必须检查是否存在一对相邻的设置位。
例子 :

Input : N = 67
Output : Yes
There is a pair of adjacent set bit
The binary representation is 100011

Input : N = 5
Output : No

一个简单的解决方案是遍历所有位。对于每个设置的位,请检查是否还设置了下一个位。
一个有效的解决方案是将数字移位1,然后进行按位与运算。如果按位AND不为零,则有两个相邻的置1位。否则没有。

C++
// CPP program to check
// if there are two
// adjacent set bits.
#include 
using namespace std;
 
bool adjacentSet(int n)
{
    return (n & (n >> 1));
}
 
// Driver Code
int main()
{
    int n = 3;
    adjacentSet(n) ?
     cout << "Yes" :
       cout << "No";
    return 0;
}


Java
// Java program to check
// if there are two
// adjacent set bits.
class GFG
{
     
    static boolean adjacentSet(int n)
    {
        int x = (n & (n >> 1));
         
        if(x > 0)
            return true;
        else
            return false;
    }
     
    // Driver code
    public static void main(String args[])
    {
 
        int n = 3;
         
        if(adjacentSet(n))
            System.out.println("Yes");
        else
            System.out.println("No");
 
    }
}
 
// This code is contributed by Sam007.


Python3
# Python 3 program to check if there
# are two adjacent set bits.
 
def adjacentSet(n):
    return (n & (n >> 1))
 
# Driver Code
if __name__ == '__main__':
    n = 3
    if (adjacentSet(n)):
        print("Yes")
    else:
        print("No")
         
# This code is contributed by
# Shashank_Sharma


C#
// C# program to check
// if there are two
// adjacent set bits.
using System;
 
class GFG
{
    static bool adjacentSet(int n)
    {
        int x = (n & (n >> 1));
         
        if(x > 0)
            return true;
        else
            return false;
    }
     
    // Driver code
    public static void Main ()
    {
        int n = 3;
         
        if(adjacentSet(n))
            Console.WriteLine("Yes");
        else
            Console.WriteLine("No");
    }
         
}
 
// This code is contributed by Sam007.


php
> 1));
}
 
// Driver Code
$n = 3;
adjacentSet($n) ?
   print("Yes") :
     print("No");
 
// This code is contributed by Sam007.
?>


Javascript


输出 :

Yes