Hackerrank’in 30 Days of Code içerisinde bulunan “Day 29: Bitwise AND” sorusunun açıklaması ve çözümü. Bu soruda bitwise and (&) operatörünün nasıl çalıştığına bir örnek ile göz attık.

Hackerrank 30 Days of Code Çözümleri – Day 29: Bitwise AND: https://www.hackerrank.com/challenges/30-bitwise-and/problem

► Problem açıklaması:

Objective

Welcome to the last day! Today, we’re discussing bitwise operations. Check out the Tutorial tab for learning materials and an instructional video!

Task

Given set S = {1, 2, 3, .. N}. Find two integers, A and B (where A less B), from set S such that the value of A&B is the maximum possible and also less than a given integer, K. In this case, & represents the bitwise AND operator.

Function Description

Complete the bitwiseAnd function in the editor below.

bitwiseAnd has the following paramter(s):

– int N: the maximum integer to consider

– int K: the limit of the result, inclusive

Returns

– int: the maximum value of A&B within the limit.

Input Format

The first line contains an integer, T, the number of test cases. Each of the T subsequent lines defines a test case as 2 space-separated integers, N and K, respectively.

Sample Input

STDIN Function

—– ——–

3 T = 3

5 2 N = 5, K = 2

8 5 N = 8, K = 5

2 2 N = 8, K = 5

Sample Output

1

4

0