/ SwiftChallenges Public

# Challenge 0001: The 3n+1 problem#1

Open
opened this issue Jan 19, 2016 · 0 comments
Open

# Challenge 0001: The 3n+1 problem #1

opened this issue Jan 19, 2016 · 0 comments
Labels

### dcordero commented Jan 19, 2016

We have prepared a branch in which you should work to solve this problem:

`git checkout challenge0001_The_3n+1_problem`

Please remember that you should not make any assumption in the challenges. Your solution should deal with negative numbers, decimals, wrong inputs, etc... unless it is indicated like that in the problem.

## The challenge:

Consider the following algorithm to generate a sequence of numbers. Start with an integer n. If n is even, divide by 2. If n is odd, multiply by 3 and add 1. Repeat this process with the new value of n, terminating when n = 1. For example, the following sequence of numbers will be generated for n = 22:

22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

It is conjectured (but not yet proven) that this algorithm will terminate at n = 1 for every integer n. Still, the conjecture holds for all integers up to at least 1,000,000.

For an input n, the cycle-length of n is the number of numbers generated up to and including the 1. In the example above, the cycle length of 22 is 16. Given any two numbers i and j, you are to determine the maximum cycle length over all numbers between i and j, including both endpoints.

## Input

The input will consist in a couple of integers. All of them will be less than 1,000,000 and greater than 0.

## Output

Output the maximum cycle length found in the range defined by the input values i and j.

Input Output
1 10 20
100 200 125
201 210 89
900 1000 174