Sha256: 961c576ca2f16d89bfb070ffba81f8279a716344f4f41a11dd62db9d167964b9

Contents?: true

Size: 1.53 KB

Versions: 78

Compression:

Stored size: 1.53 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.

* * * *

For installation and learning resources, refer to the
[exercism Racket page](http://exercism.io/languages/racket).

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, run the test from the exercise directory with the following command:

```
raco test collatz-conjecture-test.rkt
```

which will display the following:

```
raco test: (submod "collatz-conjecture-test.rkt" test)
2 success(es) 0 failure(s) 0 error(s) 2 test(s) run
0
2 tests passed
```

## 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

78 entries across 78 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.179 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.178 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.177 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.176 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.175 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.174 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.173 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.172 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.171 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.170 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.169 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.167 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.166 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.165 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.164 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.163 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.162 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.161 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.160 tracks/racket/exercises/collatz-conjecture/README.md