Skip to content

Instantly share code, notes, and snippets.

@banyan
Created December 27, 2009 10:49
Show Gist options
  • Select an option

  • Save banyan/264240 to your computer and use it in GitHub Desktop.

Select an option

Save banyan/264240 to your computer and use it in GitHub Desktop.
def collatz(arg):
if type(arg) == int:
arg = [arg]
elif arg[-1] == 1:
# print arg => [10, 5, 16, 8, 4, 2, 1]
return arg
if arg[-1] % 2 == 0:
arg.append(arg[-1] / 2)
collatz(arg)
else:
arg.append(arg[-1] * 3 + 1)
collatz(arg)
print collatz(10) # => None
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment