Advertisement
Guest User

Collatz4Randy

a guest
Sep 30th, 2014
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.01 KB | None | 0 0
  1. answer_list = [] #list to store answers
  2. number_list = [i for i in range(101)] #list to store Collatz numbers
  3.  
  4. def collatz(number):
  5.     #print(number)
  6.     count = 0
  7.     if number == 0 or number == 1:
  8.         count = 0
  9.     else:
  10.         while number != 1:
  11.             count = count + 1
  12.             if number % 2 == 0:
  13.                 number = number/2
  14.                 #print(number)
  15.             else:
  16.                 number = number * 3 + 1
  17.                 #print(number)
  18.     answer_list.append(count)
  19.     return(answer_list)
  20.                
  21.  
  22. print("Calculating Collatz sequence for numbers 0 - 100")    
  23. for number in number_list:
  24.     collatz(number)
  25. answer_dict = dict(zip(number_list, answer_list))
  26. print("Finding longest sequence:")
  27. biggest_key = max(answer_dict, key=answer_dict.get)
  28. biggest_value = answer_dict.get(biggest_key)
  29. print("The largest sequence is for the number", biggest_key , "which has a length of:" , biggest_value )
  30. #print(biggest_value)
  31. #print(answer_list)
  32. #print(answer_dict)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement