Problem Statement
Given two positive integers A and B, find the two perfect powers between A and B, inclusive, that are closest to each other, and return the absolute difference between them. If less than two perfect powers exist in the interval, return -1 instead.
Definition
- Class:
- PerfectPowers
- Method:
- nearestCouple
- Parameters:
- long, long
- Returns:
- long
- Method signature:
- long nearestCouple(long A, long B)
- (be sure your method is public)
Notes
- 1 is a perfect power.
Constraints
- A will be between 1 and 10^18, inclusive.
- B will be between A+1 and 10^18, inclusive.
Examples
1
4
Returns: 3
1 and 4 are the first pair of perfect powers.
8
9
Returns: 1
8 and 9 are the closest pair of perfect powers.
10
15
Returns: -1
No pair of perfect powers is present in the interval.
10
24
Returns: -1
9
16
Returns: 7
16
25
Returns: 9
17
25
Returns: -1
16
24
Returns: -1
36
49
Returns: 13
36
48
Returns: -1
37
49
Returns: -1
25
27
Returns: 2
26
27
Returns: -1
25
26
Returns: -1
27
32
Returns: 5
28
32
Returns: -1
27
31
Returns: -1
1
1000000000000000000
Returns: 1
This is the largest possible range, and 8 and 9 are the closest pair of perfect powers.
1000000
1000000000000
Returns: 15
1000000000000
1000000000000000000
Returns: 207
999999998000000001
1000000000000000000
Returns: 1999999999
999999998000000002
1000000000000000000
Returns: -1
999999993000000002
1000000000000000000
Returns: 1999999995
1000
1000000
Returns: 7
161334
56717268054716399
Returns: 15
436
23958404177868
Returns: 7
84599
9441492765358
Returns: 8
6840615042794867
1000000000000000000
Returns: 207
89028511238167
6629727766507817
Returns: 297
9196195400165
55937585912850
Returns: 427
32596826223
80054627775
Returns: 431
281550369145
295257537268
Returns: 5868
83993338427067219
84822848977681802
Returns: 328682
4
8
Returns: 4
38
63
Returns: -1
8
96
Returns: 1
568
2249
Returns: 10
93
60114
Returns: 3
8
13637
Returns: 1
55461
62742
Returns: 217
25
4352
Returns: 2
26
5750
Returns: 3
5
8
Returns: -1
6
9
Returns: 1
1
5
Returns: 3
2
6
Returns: -1
1
3
Returns: -1
2
8
Returns: 4
9
1834
Returns: 2
24
27
Returns: 2
45
129
Returns: 3
1
7
Returns: 3
34
48
Returns: -1
125
510
Returns: 3
25
698498
Returns: 2
3
8
Returns: 4
676
2107
Returns: 23
7
8
Returns: -1
7
9
Returns: 1
33948
277859
Returns: 8
9
14
Returns: -1
8
1000000
Returns: 1
9
90
Returns: 2
50
107
Returns: 17
20
443520
Returns: 2
26
84
Returns: 4
25
77
Returns: 2
26
530717
Returns: 3
25
2813
Returns: 2
45592
839361
Returns: 8
9
191122
Returns: 2
44
65
Returns: 15
692
819928
Returns: 7
8087
28572
Returns: 39
9951
1000000
Returns: 7
4
7435
Returns: 1
827
861
Returns: -1
76
1000000
Returns: 3
4
519198
Returns: 1
29
150067
Returns: 3
3136
27486
Returns: 11
40897
1000000
Returns: 8
452933
1000000
Returns: 74
94
6379
Returns: 3
949
27171
Returns: 10
61387
141424
Returns: 8
9433
44605
Returns: 7
8214
151296
Returns: 7
26
918431
Returns: 3
4368
1000000
Returns: 7
63861276
522033078334618613
Returns: 17
2419282
44834075129262
Returns: 17
29792348612659523
44690969710344224
Returns: 3051
64
266
Returns: 3
579472211452
21086971031117958
Returns: 297
527903
13475520
Returns: 15
2
533882184367704685
Returns: 1
9544
33140324341489854
Returns: 7
184907834900625
7335920245350370
Returns: 297
925997623
69796927920134
Returns: 17
1238
25720811031125
Returns: 7
7133236474
38925111759140213
Returns: 17
2
88
Returns: 1
62738525
3969836812
Returns: 19
42121971839158
1000000000000000000
Returns: 207
224
73231
Returns: 7
347681013
601394109920173
Returns: 17
9164
16372102913983585
Returns: 7
7
9011678008
Returns: 1
7082486047
995746526339929755
Returns: 17
80000
90000
Returns: 80
9
1000000000000000000
Returns: 2
999999998000000001
1000000000000000000
Returns: 1999999999
999999998000000002
1000000000000000000
Returns: -1
999999990000000000
1000000000000000000
Returns: 1999999991
100
150
Returns: 3
999999999999999999
1000000000000000000
Returns: -1
999999998000000001
999999999999999999
Returns: -1
999999998000000002
999999999999999999
Returns: -1
999999990000000000
999999991000000000
Returns: -1
999999990000000000
999999994000000000
Returns: 1999999991
1024
2048
Returns: 23
64
128
Returns: 3
1000
1023
Returns: -1
1000
1024
Returns: 24
900000000000000000
1000000000000000000
Returns: 38682
900
1000
Returns: 39
961
1000
Returns: 39
900
960
Returns: -1
900
961
Returns: 61
901
999
Returns: -1
962
1023
Returns: -1
999999996000000004
1000000000000000000
Returns: 1999999997
999999996000000004
999999999999999999
Returns: 1999999997
999999996000000005
999999999999999999
Returns: -1
962
1023
Returns: -1
961
1024
Returns: 24
999
1000
Returns: -1
1000000
1002001
Returns: 2001
2
8
Returns: 4
999999996000000005
1000000000000000000
Returns: 1999999999
2
7
Returns: -1
9
15
Returns: -1
5
8
Returns: -1
32
64
Returns: 4
121
144
Returns: 3
121
127
Returns: 4
125
128
Returns: 3
122
127
Returns: -1
125
512
Returns: 3
2086563001503744
2086563092861569
Returns: 91357825