def problem14(): """ Longest Collatz sequence Which starting number, under one million, produces the longest chain? """ longest_chain = 1 chain_number = 1 for number in range(1, 1000000): chain_count = mathhelper.collatz_sequence_chain_count(number) if chain_count > longest_chain: longest_chain = chain_count chain_number = number return chain_number
def test_collatz_sequence_chain_count(self): self.assertEqual(mathhelper.collatz_sequence_chain_count(1), 1) self.assertEqual(mathhelper.collatz_sequence_chain_count(2), 2) self.assertEqual(mathhelper.collatz_sequence_chain_count(3), 8) self.assertEqual(mathhelper.collatz_sequence_chain_count(13), 10)