File tree Expand file tree Collapse file tree 3 files changed +170
-0
lines changed Expand file tree Collapse file tree 3 files changed +170
-0
lines changed Original file line number Diff line number Diff line change
1
+ 'use strict' ;
2
+
3
+ const fs = require ( 'fs' ) ;
4
+
5
+ process . stdin . resume ( ) ;
6
+ process . stdin . setEncoding ( 'utf-8' ) ;
7
+
8
+ let inputString = '' ;
9
+ let currentLine = 0 ;
10
+
11
+ process . stdin . on ( 'data' , inputStdin => {
12
+ inputString += inputStdin ;
13
+ } ) ;
14
+
15
+ process . stdin . on ( 'end' , function ( ) {
16
+ inputString = inputString . replace ( / \s * $ / , '' )
17
+ . split ( '\n' )
18
+ . map ( str => str . replace ( / \s * $ / , '' ) ) ;
19
+
20
+ main ( ) ;
21
+ } ) ;
22
+
23
+ function readLine ( ) {
24
+ return inputString [ currentLine ++ ] ;
25
+ }
26
+
27
+ const getBinaryNumber = ( N ) => {
28
+ let number = N . toString ( 2 ) ;
29
+ let str = '' ;
30
+ let n = 32 - number . length ;
31
+ while ( n -- ) {
32
+ str += '0' ;
33
+ }
34
+ return str + number ;
35
+ }
36
+
37
+ const flipbits = ( bits ) => {
38
+ let str = '' ;
39
+ let n = 0 ;
40
+ while ( n < bits . length ) {
41
+ str += ( bits [ n ] === '0' ) ? '1' : '0' ;
42
+ n ++ ;
43
+ }
44
+ return str ;
45
+ }
46
+
47
+ function flippingBits ( N ) {
48
+ let bits = getBinaryNumber ( N ) ;
49
+ return parseInt ( flipbits ( bits ) , 2 ) ;
50
+ }
51
+
52
+ function main ( ) {
53
+ const ws = fs . createWriteStream ( process . env . OUTPUT_PATH ) ;
54
+
55
+ const q = parseInt ( readLine ( ) , 10 ) ;
56
+
57
+ for ( let qItr = 0 ; qItr < q ; qItr ++ ) {
58
+ const n = parseInt ( readLine ( ) , 10 ) ;
59
+
60
+ const result = flippingBits ( n ) ;
61
+
62
+ ws . write ( result + '\n' ) ;
63
+ }
64
+
65
+ ws . end ( ) ;
66
+ }
Original file line number Diff line number Diff line change
1
+ 'use strict' ;
2
+
3
+ const fs = require ( 'fs' ) ;
4
+
5
+ process . stdin . resume ( ) ;
6
+ process . stdin . setEncoding ( 'utf-8' ) ;
7
+
8
+ let inputString = '' ;
9
+ let currentLine = 0 ;
10
+
11
+ process . stdin . on ( 'data' , inputStdin => {
12
+ inputString += inputStdin ;
13
+ } ) ;
14
+
15
+ process . stdin . on ( 'end' , _ => {
16
+ inputString = inputString . replace ( / \s * $ / , '' )
17
+ . split ( '\n' )
18
+ . map ( str => str . replace ( / \s * $ / , '' ) ) ;
19
+
20
+ main ( ) ;
21
+ } ) ;
22
+
23
+ function readLine ( ) {
24
+ return inputString [ currentLine ++ ] ;
25
+ }
26
+
27
+ // Complete the maximizingXor function below.
28
+ function maximizingXor ( l , r ) {
29
+ let rightIncrement = l ;
30
+ let start = l ;
31
+ let max = Number . MIN_VALUE ;
32
+ while ( l <= r ) {
33
+ // console.log(l,rightIncrement)
34
+ if ( ( l ^ rightIncrement ) > max ) {
35
+ max = l ^ rightIncrement ;
36
+ }
37
+ if ( rightIncrement === r ) {
38
+ l ++ ;
39
+ rightIncrement = start ;
40
+ }
41
+ rightIncrement ++ ;
42
+ }
43
+ return max ;
44
+ }
45
+
46
+ function main ( ) {
47
+ const ws = fs . createWriteStream ( process . env . OUTPUT_PATH ) ;
48
+
49
+ const l = parseInt ( readLine ( ) , 10 ) ;
50
+
51
+ const r = parseInt ( readLine ( ) , 10 ) ;
52
+
53
+ let result = maximizingXor ( l , r ) ;
54
+
55
+ ws . write ( result + "\n" ) ;
56
+
57
+ ws . end ( ) ;
58
+ }
Original file line number Diff line number Diff line change
1
+ 'use strict' ;
2
+
3
+ const fs = require ( 'fs' ) ;
4
+
5
+ process . stdin . resume ( ) ;
6
+ process . stdin . setEncoding ( 'utf-8' ) ;
7
+
8
+ let inputString = '' ;
9
+ let currentLine = 0 ;
10
+
11
+ process . stdin . on ( 'data' , function ( inputStdin ) {
12
+ inputString += inputStdin ;
13
+ } ) ;
14
+
15
+ process . stdin . on ( 'end' , function ( ) {
16
+ inputString = inputString . split ( '\n' ) ;
17
+
18
+ main ( ) ;
19
+ } ) ;
20
+
21
+ function readLine ( ) {
22
+ return inputString [ currentLine ++ ] ;
23
+ }
24
+
25
+ // Complete the sumXor function below.
26
+ function sumXor ( n ) {
27
+ let c = 0 ;
28
+ while ( n ) {
29
+ c += n % 2 ? 0 : 1 ;
30
+ n = Math . floor ( n / 2 ) ;
31
+ }
32
+ c = Math . pow ( 2 , c ) ;
33
+ return c ;
34
+ }
35
+
36
+ function main ( ) {
37
+ const ws = fs . createWriteStream ( process . env . OUTPUT_PATH ) ;
38
+
39
+ const n = parseInt ( readLine ( ) . trim ( ) , 10 ) ;
40
+
41
+ const result = sumXor ( n ) ;
42
+
43
+ ws . write ( result + '\n' ) ;
44
+
45
+ ws . end ( ) ;
46
+ }
You can’t perform that action at this time.
0 commit comments