# Program for Collatz Conjecture in JavaScript

The Collatz Conjecture, also known as `3n + 1` conjecture, Ulam Conjecture, Thwaites conjecture, Hasse’s algorithm, Kakutani’s problem, or the Syracuse problem, is a conclusion formed on the basis of incomplete information in mathematics

The Collatz Conjecture is an eventually one of the unsolved problem in mathematics and applying the following algorithm to any number we will always eventually reach one. It can be summarized as follows:

• Each new term is obtained from the previous term:
• If the previous term is even, the next term is half of the previous term i.e (`previous / 2`).
• If the previous term is odd, the next term is 3 times the previous term plus 1 i.e (`3 * previous + 1`).
• Repeat the process indefinitely. No matter what value of n is, the sequence will always reach 1.

### Algorithm

``````Step 1: Start
Step 2: Declare variables n.
Step 3: Read n from the user.
Step 4: Repeat the steps until n > 1
4.1 If n % 2 === 0
n = n / 2
Else
n = 3 * n + 1
Step 5: Stop
``````

Given a number n, return the number of steps required to reach 1.

### Examples

``````function getCollatzConjectureSequence(value) {
if (value < 1) {
throw new Error("Only positive numbers are allowed");
}
let count = 0;

console.log("Sequence starts");
console.log(value);

while (value > 1) {
value = value % 2 === 0 ? value / 2 : 3 * value + 1;

console.log(value);

count++;
}

console.log("Sequence ends");
console.log("Count", count);
}

getCollatzConjectureSequence(12);
``````

Starting with n = 12, results in 9 steps

``````Sequence starts
12
6
3
10
5
16
8
4
2
1
Sequence ends
Count 9
`````` 