Sha256: 70813e5754d6f5219c00361c1baaa3135ae79c8ce01558494d56489397e10021
Contents?: true
Size: 1.64 KB
Versions: 96
Compression:
Stored size: 1.64 KB
Contents
# Collatz Conjecture The Collatz Conjecture or 3x+1 problem can be summarized as follows: Take any positive integer n. If n is even, divide n by 2 to get n / 2. If n is odd, multiply n by 3 and add 1 to get 3n + 1. Repeat the process indefinitely. The conjecture states that no matter which number you start with, you will always reach 1 eventually. Given a number n, return the number of steps required to reach 1. ## Examples Starting with n = 12, the steps would be as follows: 0. 12 1. 6 2. 3 3. 10 4. 5 5. 16 6. 8 7. 4 8. 2 9. 1 Resulting in 9 steps. So for input n = 12, the return value would be 9. ## Running tests Execute the tests with: ```bash $ elixir bob_test.exs ``` (Replace `bob_test.exs` with the name of the test file.) ### Pending tests In the test suites, all but the first test have been skipped. Once you get a test passing, you can unskip the next one by commenting out the relevant `@tag :pending` with a `#` symbol. For example: ```elixir # @tag :pending test "shouting" do assert Bob.hey("WATCH OUT!") == "Whoa, chill out!" end ``` Or, you can enable all the tests by commenting out the `ExUnit.configure` line in the test suite. ```elixir # ExUnit.configure exclude: :pending, trace: true ``` For more detailed information about the Elixir track, please see the [help page](http://exercism.io/languages/elixir). ## Source An unsolved problem in mathematics named after mathematician Lothar Collatz [https://en.wikipedia.org/wiki/3x_%2B_1_problem](https://en.wikipedia.org/wiki/3x_%2B_1_problem) ## Submitting Incomplete Solutions It's possible to submit an incomplete solution so you can see how others have completed the exercise.
Version data entries
96 entries across 96 versions & 1 rubygems