# Day 6: Bitwise Operators Solution

Hello Friends in this article i am gone to share Hackerrank 10 days of javascript solutions with you. | Day 6: Bitwise Operators Solution.

Also visit this link:ย  Day 5: Arrow Functions Solution

## Day 6: Bitwise Operators Solution

### Objective

Today, weโre practicingย bitwise operations.

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 integer,ย k.

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ย <= 10^3
• 2 <=ย nย <= 10^3
• 2 <=ย kย <=ย n

### Output Format

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

```3
5 2
8 5
2 2```

```1
4
0```

### Explanation 0

We perform the followingย qย = 3 function calls:

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

```2
9 2
8 3```

```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, 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, so we returnย 2.

## Solution โ Day 6: Bitwise Operators

```'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();ย ย ย ย
});

ย ย ย ย returnย inputString[currentLine++];
}

functionย getMaxLessThanK(n,ย k){
ย ย ย ย varย maxiย =ย 0;
ย ย ย ย varย currย =ย -1;
ย ย ย ย
ย ย ย ย forย (varย iย =ย 0;ย iย <ย nย ;ย i++){
ย ย ย ย ย ย ย ย forย (varย jย =ย iย +ย 1;ย jย <=ย n;ย j++){
ย ย ย ย ย ย ย ย ย ย ย ย currย =ย iย &ย jย ;
ย ย ย ย ย ย ย ย ย ย ย ย ifย (currย <ย kย &&ย currย >ย maxi){
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย maxiย =ย curr;
ย ย ย ย ย ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย ย }
ย ย ย ย }
ย ย ย ย returnย maxi;
}

functionย main()ย {
ย ย ย ย constย qย =ย +(readLine());
ย ย ย ย
ย ย ย ย forย (letย iย =ย 0;ย iย <ย q;ย i++)ย {
ย ย ย ย ย ย ย ย constย [n,ย k]ย =ย readLine().split('ย ').map(Number);
ย ย ย ย ย ย ย ย
ย ย ย ย ย ย ย ย console.log(getMaxLessThanK(n,ย k));
ย ย ย ย }
}```

Complete the function in the editor. It has two parameters: a and b. It must return an object modeling a rectangle that has the following properties: Complete the function in the editor. It has two parameters:ย aย andย b. It must return an object modeling a rectangle that has the following properties: