Sha256: 05eaeda96e1d5bd4c7c8bf985c2df2ac7920d4737689c00cb0dc84d4a2c4b7a5

Contents?: true

Size: 1.6 KB

Versions: 53

Compression:

Stored size: 1.6 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, 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
```

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

53 entries across 53 versions & 1 rubygems

Version Path
trackler-2.2.1.100 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.99 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.98 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.97 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.96 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.95 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.94 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.93 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.92 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.91 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.90 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.89 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.88 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.87 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.86 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.85 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.84 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.83 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.82 tracks/racket/exercises/collatz-conjecture/README.md
trackler-2.2.1.81 tracks/racket/exercises/collatz-conjecture/README.md