Statistics

Problem Statement for "MinskyMysteryDiv2"

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 long N. Return a long containing the number of marbles that will be in bag 4 at the end of Marvin's game. If Marvin's game does not terminate for the given N, return -1 instead.

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

  1. 2

    Returns: 3

  2. 3

    Returns: 4

  3. 4

    Returns: 4

  4. 15

    Returns: 8

  5. 0

    Returns: -1

  6. 1

    Returns: -1

  7. 5

    Returns: 6

  8. 6

    Returns: 5

  9. 7

    Returns: 8

  10. 8

    Returns: 6

  11. 9

    Returns: 6

  12. 10

    Returns: 7

  13. 11

    Returns: 12

  14. 12

    Returns: 8

  15. 13

    Returns: 14

  16. 14

    Returns: 9

  17. 15

    Returns: 8

  18. 16

    Returns: 10

  19. 17

    Returns: 18

  20. 18

    Returns: 11

  21. 19

    Returns: 20

  22. 20

    Returns: 12

  23. 21

    Returns: 10

  24. 22

    Returns: 13

  25. 23

    Returns: 24

  26. 24

    Returns: 14

  27. 25

    Returns: 10

  28. 26

    Returns: 15

  29. 27

    Returns: 12

  30. 28

    Returns: 16

  31. 29

    Returns: 30

  32. 30

    Returns: 17

  33. 999999974243

    Returns: 10972236

  34. 999966000289

    Returns: 1999966

  35. 999932000987

    Returns: 1999932

  36. 549697684831

    Returns: 1482832

  37. 999992456923

    Returns: 2090164

  38. 999985999949

    Returns: 1999986

  39. 999663912463

    Returns: 999663912464

  40. 549755813888

    Returns: 274877906946

  41. 998295347921

    Returns: 100170030

  42. 990728680597

    Returns: 99410858

  43. 991325085943

    Returns: 99470696

  44. 990132634063

    Returns: 99351056

  45. 23899065817

    Returns: 2172642358

  46. 501286585121

    Returns: 71612369310

  47. 79418294653

    Returns: 79418294654

  48. 857742881383

    Returns: 5680416584

  49. 847288609443

    Returns: 282429536484

  50. 961346991611

    Returns: 961346991612

  51. 289721913119

    Returns: 289721913120

  52. 1000000000000

    Returns: 500000000002

  53. 56604

    Returns: 28304

  54. 639

    Returns: 216

  55. 940489420

    Returns: 470244712

  56. 181681

    Returns: 1970

  57. 2509315

    Returns: 501868

  58. 61008809

    Returns: 859350

  59. 307882

    Returns: 153943

  60. 9657166375

    Returns: 1931433280

  61. 632511669

    Returns: 210837226

  62. 1140

    Returns: 572

  63. 473785794118

    Returns: 236892897061

  64. 85426

    Returns: 42715

  65. 823

    Returns: 824

  66. 9691

    Returns: 892

  67. 32677176439

    Returns: 32677176440

  68. 66634240

    Returns: 33317122

  69. 8742164973

    Returns: 2914054994

  70. 7740

    Returns: 3872

  71. 35679235033

    Returns: 2744556554

  72. 912

    Returns: 458

  73. 62058

    Returns: 31031

  74. 68313523682

    Returns: 34156761843

  75. 167483122

    Returns: 83741563

  76. 73316810814

    Returns: 36658405409

  77. 25780653

    Returns: 8593554

  78. 50123

    Returns: 50124

  79. 95066

    Returns: 47535

  80. 1141118

    Returns: 570561

  81. 641536

    Returns: 320770

  82. 1303791137

    Returns: 118526478

  83. 934

    Returns: 469

  84. 3979

    Returns: 196

  85. 8544095

    Returns: 1708824

  86. 1716

    Returns: 860

  87. 708

    Returns: 356

  88. 37222940

    Returns: 18611472

  89. 255270

    Returns: 127637

  90. 194934

    Returns: 97469

  91. 35020

    Returns: 17512

  92. 4921

    Returns: 710

  93. 22198161106

    Returns: 11099080555

  94. 793869339907

    Returns: 113409905708

  95. 455750691863

    Returns: 455750691864

  96. 88458156143

    Returns: 12636879456

  97. 743531953133

    Returns: 10185369294

  98. 67336661975

    Returns: 13467332400

  99. 55858966335

    Returns: 18619655448

  100. 462398666113

    Returns: 20104289854

  101. 414917635852

    Returns: 207458817928

  102. 80399258354

    Returns: 40199629179

  103. 804762276120

    Returns: 402381138062

  104. 41071462606

    Returns: 20535731305

  105. 411282164164

    Returns: 205641082084

  106. 80052724013

    Returns: 80052724014

  107. 657164428388

    Returns: 328582214196

  108. 253690000746

    Returns: 126845000375

  109. 63345060786

    Returns: 31672530395

  110. 86775214293

    Returns: 28925071434

  111. 703837870306

    Returns: 351918935155

  112. 86567864778

    Returns: 43283932391

  113. 84631031817

    Returns: 28210343942

  114. 636455831109

    Returns: 212151943706

  115. 132336486706

    Returns: 66168243355

  116. 72724370282

    Returns: 36362185143

  117. 661765556521

    Returns: 22819501978

  118. 475808264703

    Returns: 158602754904

  119. 45572770802

    Returns: 22786385403

  120. 257935587385

    Returns: 51587117482

  121. 29460618561

    Returns: 9820206190

  122. 866070866297

    Returns: 123724409478

  123. 47539168631

    Returns: 1011471720

  124. 33346970931

    Returns: 11115656980

  125. 234250059026

    Returns: 117125029515

  126. 456203051683

    Returns: 350118764

  127. 655050458446

    Returns: 327525229225

  128. 154332755733

    Returns: 51444251914

  129. 97860137303

    Returns: 1378311864

  130. 948237557684

    Returns: 474118778844

  131. 72541902122

    Returns: 36270951063

  132. 375775526335

    Returns: 75155105272

  133. 1000000007

    Returns: 1000000008

  134. 92225672626

    Returns: 46112836315

  135. 1500450271

    Returns: 1500450272

  136. 999999999991

    Returns: 1321004720

  137. 1234567891

    Returns: 1234567892

  138. 999999999901

    Returns: 142857142850

  139. 99987898781

    Returns: 4347299970

  140. 999999999999

    Returns: 333333333336

  141. 100000000000

    Returns: 50000000002

  142. 999999999989

    Returns: 999999999990

  143. 2147483647

    Returns: 2147483648

  144. 111111378917

    Returns: 15873054138

  145. 999999898799

    Returns: 90909081720

  146. 982451653

    Returns: 982451654

  147. 1000000000

    Returns: 500000002

  148. 25459215277

    Returns: 25459215278

  149. 10000000001

    Returns: 99010002

  150. 999999999959

    Returns: 999999999960

  151. 10000000000

    Returns: 5000000002

  152. 24000000000

    Returns: 12000000002

  153. 100000000003

    Returns: 100000000004

  154. 5463458053

    Returns: 5463458054

  155. 99999999998

    Returns: 50000000001

  156. 4564841564

    Returns: 2282420784

  157. 99999999977

    Returns: 99999999978

  158. 45810138910

    Returns: 22905069457

  159. 2000000000

    Returns: 1000000002

  160. 99999999999

    Returns: 33333333336

  161. 1002000001

    Returns: 1002000002

  162. 999999999990

    Returns: 499999999997

  163. 92937447289

    Returns: 1575211030

  164. 32416190071

    Returns: 32416190072

  165. 464112462563

    Returns: 1362516

  166. 824633720831

    Returns: 824633720832

  167. 999781420691

    Returns: 999781420692

  168. 53

    Returns: 54

  169. 999999999937

    Returns: 999999999938

  170. 1000003

    Returns: 1000004

  171. 199999999

    Returns: 2247280

  172. 10000000033

    Returns: 10000000034

  173. 763

    Returns: 116

  174. 9234511

    Returns: 839512

  175. 94143178827

    Returns: 31381059612

  176. 200560490131

    Returns: 200560490132

  177. 7000105037

    Returns: 7000105038


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: