Skip to content

Instantly share code, notes, and snippets.

@muammar
Last active July 4, 2016 22:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save muammar/a2f972cb7aedc179583500c03a0bedfa to your computer and use it in GitHub Desktop.
Save muammar/a2f972cb7aedc179583500c03a0bedfa to your computer and use it in GitHub Desktop.
Collatz conjecture
#!/usr/bin/env python
from __future__ import division
import matplotlib.pyplot as plt
print('Enter integer number')
number = int(input())
collatz_series = []
collatz_series.append(number)
if number == 1:
number = number * 3 + 1
collatz_series.append(number)
while number != 1:
if number % 2 == 0:
number = number / 2
collatz_series.append(number)
else:
number = number * 3 + 1
collatz_series.append(number)
if number == 1:
break
print('Collatz series:')
print(collatz_series)
x = []
for e,i in enumerate(collatz_series):
x.append((e+1)/len(collatz_series))
plt.plot(x,collatz_series)
plt.xlabel('Normalized number in sequence')
plt.ylabel('Collatz value')
plt.show()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment