Problem Statement
Initially, rabbit Hanako stands at position init. From position x, she can jump to either position 4*x+3 or 8*x+7 in a single jump. She can jump at most 100,000 times because she gets tired by jumping.
Carrots are planted at position x if and only if x is divisible by 1,000,000,007 (i.e. carrots are planted at position 0, position 1,000,000,007, position 2,000,000,014, and so on). Return the minimal number of jumps required to reach a carrot. If it's impossible to reach a carrot using at most 100,000 jumps, return -1.
Definition
- Class:
- CarrotJumping
- Method:
- theJump
- Parameters:
- int
- Returns:
- int
- Method signature:
- int theJump(int init)
- (be sure your method is public)
Constraints
- init will be between 1 and 1,000,000,006, inclusive.
Examples
125000000
Returns: 1
She can jump from 125000000 to 1000000007.
281250001
Returns: 2
281250001 -> 1125000007 -> 9000000063
974579565
Returns: -1
18426114
Returns: 58
4530664
Returns: 478
610
Returns: -1
754
Returns: -1
5000000000
Returns: -1
579739909
Returns: 99999
289869954
Returns: 99999
644934980
Returns: 99999
822467493
Returns: 100000
411233746
Returns: 100000
705616876
Returns: 100000
852808441
Returns: -1
She can't reach any carrot by making at most 100,000 jumps.
426404220
Returns: -1
713202113
Returns: -1
356601056
Returns: -1
678300531
Returns: -1
339150265
Returns: -1
1000000006
Returns: -1
500000003
Returns: -1
250000001
Returns: 1
125000000
Returns: 1
562500003
Returns: 2
281250001
Returns: 2
140625000
Returns: 2
570312503
Returns: 3
285156251
Returns: 3
142578125
Returns: 3
71289062
Returns: 4
535644534
Returns: 4
673399480
Returns: 31975
610100046
Returns: 24047
315802756
Returns: 86744
225937957
Returns: 72060
496178545
Returns: 61128
453035285
Returns: 32514
47858586
Returns: 23997
480799171
Returns: 82231
828067259
Returns: 62445
895255719
Returns: 30132
454540134
Returns: 62962
900327479
Returns: 91701
239594710
Returns: -1
49592320
Returns: -1
686088966
Returns: -1
935467456
Returns: -1
642858708
Returns: -1
129938307
Returns: -1
735946623
Returns: -1
774009307
Returns: -1
830378328
Returns: -1
464244557
Returns: -1
14646281
Returns: -1
20735299
Returns: -1
10000
Returns: -1
1000170
Returns: 6191
777
Returns: -1
1
Returns: -1
987654321
Returns: -1
750000006
Returns: -1
2
Returns: -1
1000000004
Returns: -1
251132667
Returns: 479