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:
- MinskyMystery
- Method:
- computeAnswer
- Parameters:
- long
- Returns:
- int
- Method signature:
- int computeAnswer(long N)
- (be sure your method is public)
Notes
- Suppose there are M marbles in bag A. The instruction "Move all marbles from bag A to bag B." then counts as M individual moves.
- Note that N is allowed to be zero.
Constraints
- N will be between 0 and 10^12, inclusive.
Examples
2
Returns: 9
3
Returns: 27
4
Returns: 16
2401
Returns: 59058
0
Returns: -1
1
Returns: -1
5
Returns: 88
6
Returns: 23
7
Returns: 182
8
Returns: 30
9
Returns: 74
10
Returns: 37
11
Returns: 467
12
Returns: 44
13
Returns: 659
14
Returns: 51
15
Returns: 121
16
Returns: 58
17
Returns: 1138
18
Returns: 65
19
Returns: 1426
20
Returns: 72
21
Returns: 168
22
Returns: 79
23
Returns: 2098
24
Returns: 86
25
Returns: 414
26
Returns: 93
27
Returns: 215
28
Returns: 100
29
Returns: 3349
30
Returns: 107
999999974243
Returns: 997345690
999966000289
Returns: 895616073
999932000987
Returns: 846407291
549697684831
Returns: 240454710
999992456923
Returns: 117902564
999985999949
Returns: 342769624
999663912463
Returns: 789183514
549755813888
Returns: 145331294
998295347921
Returns: 422523484
990728680597
Returns: 897820809
991325085943
Returns: 642918241
990132634063
Returns: 459197756
23899065817
Returns: 336739667
501286585121
Returns: 69264569
79418294653
Returns: 188092387
857742881383
Returns: 714172553
847288609443
Returns: 94047574
961346991611
Returns: 515658070
289721913119
Returns: 483988869
1000000000000
Returns: 999968511
56604
Returns: 198116
639
Returns: 5009
940489420
Returns: 291712945
181681
Returns: 70339234
2509315
Returns: 40860019
61008809
Returns: 256153748
307882
Returns: 1077589
9657166375
Returns: 250857733
632511669
Returns: 954674708
1140
Returns: 3992
473785794118
Returns: 250264493
85426
Returns: 298993
823
Returns: 2711674
9691
Returns: 397540
32677176439
Returns: 874505132
66634240
Returns: 233219842
8742164973
Returns: 480291680
7740
Returns: 27092
35679235033
Returns: 709535439
912
Returns: 3194
62058
Returns: 217205
68313523682
Returns: 97330738
167483122
Returns: 586190929
73316810814
Returns: 608835547
25780653
Returns: 201948452
50123
Returns: 49610115
95066
Returns: 332733
1141118
Returns: 3993915
641536
Returns: 2245378
1303791137
Returns: 481352061
934
Returns: 3271
3979
Returns: 357087
8544095
Returns: 139126353
1716
Returns: 6008
708
Returns: 2480
37222940
Returns: 130280292
255270
Returns: 893447
194934
Returns: 682271
35020
Returns: 122572
4921
Returns: 121032
22198161106
Returns: 693563180
793869339907
Returns: 515090730
455750691863
Returns: 915291204
88458156143
Returns: 438777579
743531953133
Returns: 489686193
67336661975
Returns: 465302635
55858966335
Returns: 561899028
462398666113
Returns: 16325919
414917635852
Returns: 211712416
80399258354
Returns: 397401712
804762276120
Returns: 667941078
41071462606
Returns: 750117836
411282164164
Returns: 487561625
80052724013
Returns: 350513123
657164428388
Returns: 75478660
253690000746
Returns: 914994630
63345060786
Returns: 707710764
86775214293
Returns: 739172521
703837870306
Returns: 432523906
86567864778
Returns: 987524007
84631031817
Returns: 943076612
636455831109
Returns: 570632159
132336486706
Returns: 177699306
72724370282
Returns: 535293703
661765556521
Returns: 896568724
475808264703
Returns: 164706634
45572770802
Returns: 504696378
257935587385
Returns: 51110126
29460618561
Returns: 774843328
866070866297
Returns: 156898751
47539168631
Returns: 105722591
33346970931
Returns: 217936614
234250059026
Returns: 875199222
456203051683
Returns: 650221118
655050458446
Returns: 676583935
154332755733
Returns: 939909040
97860137303
Returns: 438301685
948237557684
Returns: 831422034
72541902122
Returns: 896655152
375775526335
Returns: 878098766
999999999961
Returns: 779047676
99999999977
Returns: 290123875
999999999989
Returns: 777026814
99999999999
Returns: 333326282
999999989987
Returns: 897960007
1000000009
Returns: 877697702
68718952447
Returns: 91912188
22801763489
Returns: 177598378
947147262401
Returns: 458754656
1000023281
Returns: 44457138
982451653
Returns: 746253085
999999999937
Returns: 780784928
298850081953
Returns: 249982808
100000099963
Returns: 542875400
900092400000
Returns: 323371652
999999999999
Returns: 333262832
3367900313
Returns: 814911882
274876858367
Returns: 880140535
733925199079
Returns: 886314019
1000000007
Returns: 877697580
99988877612
Returns: 961068503
999999937
Returns: 877717060
4294967297
Returns: 767219451
200000000041
Returns: 215245476
200560490131
Returns: 632944746
27644437
Returns: 928053176
9997954969
Returns: 841019510
896767806551
Returns: 652961229
999999899533
Returns: 381838114
999990000017
Returns: 163550762
999999999091
Returns: 844964456
32416190071
Returns: 534118777
987014682601
Returns: 681966847
999999999959
Returns: 779192194
100000003591
Returns: 315762591
7427466391
Returns: 968995645
59999999999
Returns: 323663620
3214745587
Returns: 510206106
3214747044
Returns: 251614557
199199199203
Returns: 6626450