Collatz Conjecture Lets Compute This
August 17, 2017 • Maths • 1 minutes to read • Edit
Before we look into what a Collatz conjecture is, I highly recommend watching the (below video by Numberphile.
Collatz conjecture also called as $3n+1$ problem, $3x+1$ mapping, Hasse’s algorithm, Kakutani’s problem, Syracuse algorithm, Syracuse problem, Thwaites conjecture, and Ulam’s problem.
Basically, the problem states that all positive whole numbers should eventually compute to $1$, which is based on the following condition:
$$ a_{n} = \begin{cases} \frac{1}{2}a_{n-1}, & \text{if $a_{n-1}$ is even} \\ 3n+1, & \text{if $a_{n-1}$ is odd} \end{cases} $$
The above equation says, at every iteration, check if the input number is even or odd. If the number is even then divide it by $2$ i.e., $\frac{number}{2}$ else multiply $3$ and add $1$ to the number i.e., $3 \ast number+1$.
Programmatically, this can be written as
def compute(number):
while number != 1:
print(number)
if number % 2 == 0:
number = (number / 2)
else:
number = int(3 * number + 1)
else:
print(number)
if __name__ == '__main__':
compute(10)