Skip to content

Instantly share code, notes, and snippets.

@oleoneto
Created September 27, 2021 02:01
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 oleoneto/3223f3d1e4a3082758f7919907cdf73d to your computer and use it in GitHub Desktop.
Save oleoneto/3223f3d1e4a3082758f7919907cdf73d to your computer and use it in GitHub Desktop.
import sys
def compute_collatz(number):
if number % 2 == 0:
return number / 2
return (number * 3 + 1) / 2
def main():
try:
number = int(sys.argv[1])
except:
number = int(input("Pick a number: "))
result = compute_collatz(number)
counter = 1
print(f"{counter} :> {result}")
while result > 1:
counter += 1
result = compute_collatz(result)
print(f"{counter} :> {result}")
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment