Collatz Conjecture in Racket
Calculate the number of steps to reach 1 using the Collatz conjecture
exercism fetch racket 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.
Starting with n = 12, the steps would be as follows:
Resulting in 9 steps. So for input n = 12, the return value would be 9.
For installation and learning resources, refer to the exercism Racket page.
You can run the provided tests through DrRacket, or via the command line.
To run the test through DrRacket, simply open the test file and click the 'Run' button in the upper right.
To run the test from the command line, simply run the test from the exercise directory. For example, if the test suite is called
hello-world-test.rkt, you can run the following command:
raco test hello-world-test.rkt
which will display the following:
raco test: (submod "hello-world-test.rkt" test) 2 success(es) 0 failure(s) 0 error(s) 2 test(s) run 0 2 tests passed
An unsolved problem in mathematics named after mathematician Lothar Collatz 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.