Problem Statement
For example, if they start with n=15, one possible gameplay can look as follows:
- John takes the number 15, chooses its divisor 3, and decreases the number to 15-3 = 12.
- Brus takes the number 12, chooses its divisor 4, and decreases the number to 12-4 = 8.
- John takes the number 8, chooses its divisor 2, and decreases the number to 8-2 = 6.
- Brus takes the number 6, chooses its divisor 3, and decreases the number to 6-3 = 3.
- John takes the number 3, and as there are no divisors other than 1 and 3, he has no valid move and thus he loses the game.
You are given the
Definition
- Class:
- TheNumberGameDivOne
- Method:
- find
- Parameters:
- long
- Returns:
- String
- Method signature:
- String find(long n)
- (be sure your method is public)
Constraints
- n will be between 1 and 10^18, inclusive.
Examples
6
Returns: "John"
John has two possible moves: either decrease 6 by 2 or decrease 6 by 3. If he chooses the second option, Brus will have no possible moves, hence John will win the game.
2
Returns: "Brus"
747
Returns: "Brus"
128
Returns: "Brus"
417
Returns: "Brus"
223
Returns: "Brus"
52
Returns: "John"
483
Returns: "Brus"
64
Returns: "John"
488
Returns: "John"
462
Returns: "John"
778
Returns: "John"
597
Returns: "Brus"
556
Returns: "John"
65
Returns: "Brus"
231
Returns: "Brus"
199
Returns: "Brus"
992
Returns: "John"
257
Returns: "Brus"
830
Returns: "John"
396
Returns: "John"
469
Returns: "Brus"
276
Returns: "John"
802
Returns: "John"
914
Returns: "John"
543
Returns: "Brus"
631
Returns: "Brus"
45
Returns: "Brus"
837
Returns: "Brus"
860
Returns: "John"
533
Returns: "Brus"
373
Returns: "Brus"
367
Returns: "Brus"
259
Returns: "Brus"
394
Returns: "John"
16
Returns: "John"
32
Returns: "Brus"
256
Returns: "John"
512
Returns: "Brus"
64
Returns: "John"
8
Returns: "Brus"
5
Returns: "Brus"
4
Returns: "John"
3
Returns: "Brus"
1
Returns: "Brus"
999
Returns: "Brus"
1000
Returns: "John"
36028797018963968
Returns: "Brus"
17179869184
Returns: "John"
35184372088832
Returns: "Brus"
17592186044416
Returns: "John"
67108864
Returns: "John"
4294967296
Returns: "John"
2048
Returns: "Brus"
4398046511104
Returns: "John"
8388608
Returns: "Brus"
140737488355328
Returns: "Brus"
2097152
Returns: "Brus"
137438953472
Returns: "Brus"
72057594037927936
Returns: "John"
777099619347749670
Returns: "John"
657883257925660258
Returns: "John"
58116120065062962
Returns: "John"
539656914644202582
Returns: "John"
485693912333408402
Returns: "John"
37572215255261210
Returns: "John"
875678191683108048
Returns: "John"
494768164517789482
Returns: "John"
106954493434730061
Returns: "Brus"
315033728610403455
Returns: "Brus"
1000000000000000000
Returns: "John"
999999999999999999
Returns: "Brus"
576460752303423488
Returns: "Brus"
288230376151711744
Returns: "John"
999999999999999989
Returns: "Brus"
2199023255552
Returns: "Brus"
12880097696556090
Returns: "John"
1125899906842624
Returns: "John"
999999866000004473
Returns: "Brus"
999999874000003969
Returns: "Brus"
944854643287051537
Returns: "Brus"
20
Returns: "John"
145248598745214582
Returns: "John"
68719476736
Returns: "John"
15
Returns: "Brus"
25
Returns: "Brus"
218409274160236512
Returns: "John"
281474976710656
Returns: "John"
144115188075855872
Returns: "Brus"
100000000000000019
Returns: "Brus"
100000000000000003
Returns: "Brus"
100000000034598767
Returns: "Brus"
12934872364872639
Returns: "Brus"
9
Returns: "Brus"
70368744177664
Returns: "John"
999999999999999993
Returns: "Brus"
40
Returns: "John"
99999999999999999
Returns: "Brus"
24
Returns: "John"
18014398509481984
Returns: "John"
14
Returns: "John"
105
Returns: "Brus"
10
Returns: "John"
2197
Returns: "Brus"
12
Returns: "John"
999999999999999023
Returns: "Brus"
744131759421141407
Returns: "Brus"
1099511627776
Returns: "John"
1024
Returns: "John"
965211250482432409
Returns: "Brus"
24272000000000002
Returns: "John"
9007199254740992
Returns: "Brus"
50
Returns: "John"
10000001400000049
Returns: "Brus"
2251799813685248
Returns: "Brus"
34
Returns: "John"
16888498602639360
Returns: "John"
562949953421314
Returns: "John"