exercism/elixir/collatz-conjecture/README.md

1.0 KiB

Collatz Conjecture

Welcome to Collatz Conjecture on Exercism's Elixir Track. If you need help running the tests or submitting your code, check out HELP.md.

Instructions

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:

  1. 12
  2. 6
  3. 3
  4. 10
  5. 5
  6. 16
  7. 8
  8. 4
  9. 2
  10. 1

Resulting in 9 steps. So for input n = 12, the return value would be 9.

Source

Created by

  • @Tuxified

Contributed to by

  • @angelikatyborska
  • @Cohen-Carlisle
  • @devonestes
  • @neenjaw
  • @sotojuan

Based on

An unsolved problem in mathematics named after mathematician Lothar Collatz - https://en.wikipedia.org/wiki/3x_%2B_1_problem