Problem Statement
Marvin plays a simple game. The game is played with an infinite supply of marbles and five bags, labeled "bag 0" through "bag 4".
At the beginning, Marvin takes N marbles (where N is a nonnegative integer) and places them into bag 0. The remaining four bags are left empty. Marvin then follows this simple algorithm:
Add a marble into bag 1. Repeat forever: Add a marble into bag 1. Empty bag 4. While there are marbles in bag 0: While there are marbles both in bag 0 and in bag 1: Remove a marble from bag 0. Remove a marble from bag 1. Add a marble into bag 2. Add a marble into bag 3. End While Add a marble into bag 4. If bags 0 and 1 are both empty: Move all marbles from bag 3 to bag 4. TERMINATE THE GAME End If Move all marbles from bag 3 to bag 1. End While Move all marbles from bag 2 to bag 0. End Repeat
You are given a
Definition
- Class:
- MinskyMysteryDiv2
- Method:
- computeAnswer
- Parameters:
- long
- Returns:
- long
- Method signature:
- long computeAnswer(long N)
- (be sure your method is public)
Notes
- You may assume that the answer always fits into a long.
- Note that N is allowed to be zero.
Constraints
- N will be between 0 and 10^12, inclusive.
Examples
2
Returns: 3
3
Returns: 4
4
Returns: 4
15
Returns: 8
0
Returns: -1
1
Returns: -1
5
Returns: 6
6
Returns: 5
7
Returns: 8
8
Returns: 6
9
Returns: 6
10
Returns: 7
11
Returns: 12
12
Returns: 8
13
Returns: 14
14
Returns: 9
15
Returns: 8
16
Returns: 10
17
Returns: 18
18
Returns: 11
19
Returns: 20
20
Returns: 12
21
Returns: 10
22
Returns: 13
23
Returns: 24
24
Returns: 14
25
Returns: 10
26
Returns: 15
27
Returns: 12
28
Returns: 16
29
Returns: 30
30
Returns: 17
999999974243
Returns: 10972236
999966000289
Returns: 1999966
999932000987
Returns: 1999932
549697684831
Returns: 1482832
999992456923
Returns: 2090164
999985999949
Returns: 1999986
999663912463
Returns: 999663912464
549755813888
Returns: 274877906946
998295347921
Returns: 100170030
990728680597
Returns: 99410858
991325085943
Returns: 99470696
990132634063
Returns: 99351056
23899065817
Returns: 2172642358
501286585121
Returns: 71612369310
79418294653
Returns: 79418294654
857742881383
Returns: 5680416584
847288609443
Returns: 282429536484
961346991611
Returns: 961346991612
289721913119
Returns: 289721913120
1000000000000
Returns: 500000000002
56604
Returns: 28304
639
Returns: 216
940489420
Returns: 470244712
181681
Returns: 1970
2509315
Returns: 501868
61008809
Returns: 859350
307882
Returns: 153943
9657166375
Returns: 1931433280
632511669
Returns: 210837226
1140
Returns: 572
473785794118
Returns: 236892897061
85426
Returns: 42715
823
Returns: 824
9691
Returns: 892
32677176439
Returns: 32677176440
66634240
Returns: 33317122
8742164973
Returns: 2914054994
7740
Returns: 3872
35679235033
Returns: 2744556554
912
Returns: 458
62058
Returns: 31031
68313523682
Returns: 34156761843
167483122
Returns: 83741563
73316810814
Returns: 36658405409
25780653
Returns: 8593554
50123
Returns: 50124
95066
Returns: 47535
1141118
Returns: 570561
641536
Returns: 320770
1303791137
Returns: 118526478
934
Returns: 469
3979
Returns: 196
8544095
Returns: 1708824
1716
Returns: 860
708
Returns: 356
37222940
Returns: 18611472
255270
Returns: 127637
194934
Returns: 97469
35020
Returns: 17512
4921
Returns: 710
22198161106
Returns: 11099080555
793869339907
Returns: 113409905708
455750691863
Returns: 455750691864
88458156143
Returns: 12636879456
743531953133
Returns: 10185369294
67336661975
Returns: 13467332400
55858966335
Returns: 18619655448
462398666113
Returns: 20104289854
414917635852
Returns: 207458817928
80399258354
Returns: 40199629179
804762276120
Returns: 402381138062
41071462606
Returns: 20535731305
411282164164
Returns: 205641082084
80052724013
Returns: 80052724014
657164428388
Returns: 328582214196
253690000746
Returns: 126845000375
63345060786
Returns: 31672530395
86775214293
Returns: 28925071434
703837870306
Returns: 351918935155
86567864778
Returns: 43283932391
84631031817
Returns: 28210343942
636455831109
Returns: 212151943706
132336486706
Returns: 66168243355
72724370282
Returns: 36362185143
661765556521
Returns: 22819501978
475808264703
Returns: 158602754904
45572770802
Returns: 22786385403
257935587385
Returns: 51587117482
29460618561
Returns: 9820206190
866070866297
Returns: 123724409478
47539168631
Returns: 1011471720
33346970931
Returns: 11115656980
234250059026
Returns: 117125029515
456203051683
Returns: 350118764
655050458446
Returns: 327525229225
154332755733
Returns: 51444251914
97860137303
Returns: 1378311864
948237557684
Returns: 474118778844
72541902122
Returns: 36270951063
375775526335
Returns: 75155105272
1000000007
Returns: 1000000008
92225672626
Returns: 46112836315
1500450271
Returns: 1500450272
999999999991
Returns: 1321004720
1234567891
Returns: 1234567892
999999999901
Returns: 142857142850
99987898781
Returns: 4347299970
999999999999
Returns: 333333333336
100000000000
Returns: 50000000002
999999999989
Returns: 999999999990
2147483647
Returns: 2147483648
111111378917
Returns: 15873054138
999999898799
Returns: 90909081720
982451653
Returns: 982451654
1000000000
Returns: 500000002
25459215277
Returns: 25459215278
10000000001
Returns: 99010002
999999999959
Returns: 999999999960
10000000000
Returns: 5000000002
24000000000
Returns: 12000000002
100000000003
Returns: 100000000004
5463458053
Returns: 5463458054
99999999998
Returns: 50000000001
4564841564
Returns: 2282420784
99999999977
Returns: 99999999978
45810138910
Returns: 22905069457
2000000000
Returns: 1000000002
99999999999
Returns: 33333333336
1002000001
Returns: 1002000002
999999999990
Returns: 499999999997
92937447289
Returns: 1575211030
32416190071
Returns: 32416190072
464112462563
Returns: 1362516
824633720831
Returns: 824633720832
999781420691
Returns: 999781420692
53
Returns: 54
999999999937
Returns: 999999999938
1000003
Returns: 1000004
199999999
Returns: 2247280
10000000033
Returns: 10000000034
763
Returns: 116
9234511
Returns: 839512
94143178827
Returns: 31381059612
200560490131
Returns: 200560490132
7000105037
Returns: 7000105038