Algorithms and Data Structures

  • Profound Academy

    • Status
      • 1
        Implementation
      • 2
        Bitwise operations
      • 3
        Prefix Sums
      • 4
        Sliding window / Two pointers
      • 5
        Modular Arithmetic
      • 6
        Number Theory
      • 7
        Binary Search
      • 8
        Basic Sorting
      • 9
        Greedy Algorithms
      • 10
        Basic Dynamic Programming
      • 11
        Recursion
      • 12
        Linked LIst
      • 13
        Queue & Stack
      • 14
        Binary tree + BST
      • 15
        Divide & Conquer + Advanced Sorting
      • 16
        Heap
      • 17
        Hashing
      • 18
        Graph Representation
      • 19
        BFS

  • Check if the bit is set

    Given an integer n and a number p which is a power of 2, you are asked to find out if the bit corresponding to p is set to 1 in n.

    Input

    The input contains two integers n (1 ≤ n ≤ ) and p (1 ≤ p ≤ ).

    Output

    The program should print Yes if the corresponding bit is set and No otherwise.

    Examples

    Input
    Output
    9 8
    Yes
    9 4
    No
    9 1
    Yes
    311 4
    Yes
    311 8
    No

    Explanation

    1. 9 → 1001, 8 → 1000 ⇒ the most significant bit is set which corresponds to 8
    1. 9 → 1001, 4 → 100 ⇒ the 3rd (from the right) bit is not set
    1. 9 → 1001, 1 → 1 ⇒ the least significant bit is set which corresponds to 1
    1. 311 → 100110111, 4 → 100 ⇒ the 3rd (from the right) bit is set
    1. 311 → 100110111, 8 → 1000 ⇒ the 4th (from the right) bit is not set
     

    Constraints

    Time limit: 1 seconds

    Memory limit: 512 MB

    Output limit: 1 MB

    To check your solution you need to sign in
    Sign in to continue