Day 6: Bitwise Operators | 10 Days of JavaScript – Hacker Rank Solution

Day 6: Bitwise Operators | 10 Days of JavaScript – Hacker Rank Solution: Hey Guy’s In this post we are solving Day 6: Bitwise Operators which is a part of 10 Days of JavaScript Series.

Day 6: Bitwise Operators | 10 Days of JavaScript – Hacker Rank Solution

Objective

Today, we’re practicing bitwise operations. Check the attached tutorial for more details.

Task

We define S to be a sequence of distinct sequential integers from 1 to n; in other words, S = {1, 2, 3, . . . , n}. We want to know the maximum bitwise AND value of any two integers, a and b (where a < b), in sequence S that is also less than a given integerk.

Complete the function in the editor so that given n and k, it returns the maximum a & b < k.

Note: The & symbol represents the bitwise AND operator.

Input Format

The first line contains an integer, q, denoting the number of function calls.
Each of the q subsequent lines defines a dataset for a function call in the form of two space-separated integers describing the respective values of n and k.

Constraints

  • 1 <= q <= 103
  • 2 <= n <= 103
  • 2 <= k <= n

Output Format

Return the maximum possible value of a & b < k for any a < b in sequence S.

Sample Input 0

3

5 2

8 5

2 2

Sample Output 0

1

4

0

Sample Input 1

2

9 2

8 3

Explanation 1

We perform the following q = 3 function calls:

aba & b
12001 & 010 = (000)2 => (0)10
13001 & 011 = (001)2 => (1)10
14001 & 100 = (000)2 => (0)10
15001 & 101 = (001)2 => (1)10
23010 & 011 = (010)2 => (2)10
24010 & 100 = (000)2 => (0)10
25010 & 101 = (000)2 => (0)10
34011 & 100 = (000)2 => (0)10
35011 & 101 = (001)2 => (1)10
44100 & 101 = (100)2 => (4)10
  1. When n = 5 and k = 2, we have the following possible a and b values in set S = {1, 2, 3, 4, 5}:The maximum of any a & b that is also k is 1, so we return 1.
  2. When n = 8 and k = 5, the maximum of any a & b < k in set S = {1, 2, 3, 4, 5, 6, 7, 8} is 4 (see table above), so we return 4.
  3. When n = 2 and k = 2, the maximum of any a & b < k in set S = {1, 2} is 0 (see table above), so we return 0.

Sample Output 1

1

2

Explanation 1

We perform the following q = 2 function calls:

  1. When n = 9 and k = 2, the maximum of any a & b < k in set S = {1, 2, 3, 4, 5, 6, 7, 8, 9} is 1 (see table above), so we return 1.
  2. When n = 8 and k = 3, the maximum of any a & b < k in set S = {1, 2, 3, 4, 5, 6, 7, 8} is 2 (see table above), so we return 2.

Day 6: Bitwise Operators | 10 Days of JavaScript – Hacker Rank Solution

'use strict';
process.stdin.resume();
process.stdin.setEncoding('utf-8');
let inputString = '';
let currentLine = 0;
process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});
process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });
    main();
});
function readLine() {
    return inputString[currentLine++];
}
function getMaxLessThanK(n,k) {
    var max=0;
    for(let i=1;i<=n;i++) {
        for(let j=i+1;j<=n;j++) {
            var x = i&j;
            if(x > max & x < k){
                max = x;
            }
        }
    }
    return(max);
}
function main() {
    const q = +(readLine());
    for (let i = 0; i < q; i++) {
        const [n, k] = readLine().split(' ').map(Number);
        console.log(getMaxLessThanK(n, k));
    }
}

Disclaimer: The above Problem (Day 6: Bitwise Operators) is generated by Hackerrank but the Solution is Provided by Chase2Learn. This tutorial is only for Educational and Learning purposes. Authority if any of the queries regarding this post or website fill the following contact form thank you.

Leave a Comment