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

- Start with any positive integer.
- 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`

- If the previous term is
- 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
```

Hope you learn something new. If this article was helpful, share it.

Happy coding