The puzzlehunt has ended, thanks for playing!
Puzzlehunt 2015

Reset Puzzle State

Collatzeral Damage

2441, 6271, 2334, 5485, 6084, 2161, 9289, 2662, 1922, 4464, 2042, 3259, 3169, 6354, 1926, 7118, 6736, 2117, 494, 4358, 999, 510, 5270, 3548, 2628, 1937, 5964, 4481, 748, 5342, 1024

Solution

author: Alec Wright

The title hints at the Collatz conjecture, which asserts that every positive integer will eventually reach 1 when the Collatz procedure is applied repeatedly:

  • if the number is even, divide by two
  • if odd, multiply by three and add one

Applying this procedure to each item in the list, we find that they indeed do reach one, and we can calculate the number of iterations required. The number of iterations are all <128, and interpreting as ascii reveals a message. As an example, the following code will yield the message:

import Data.Char (chr)

coll :: Int -> Int
coll 1 = 0
coll n
  | n `mod` 2 == 0 = 1 + coll (n `quot` 2)
  | otherwise      = 1 + coll (3*n + 1)

map (chr . coll) [2441, 6271, 2334, 5485, 6084, 2161, 9289, 2662, 1922, 4464, 2042, 3259, 3169, 6354, 1926, 7118, 6736, 2117, 494, 4358, 999, 510, 5270, 3548, 2628, 1937, 5964, 4481, 748, 5342, 1024]

The message says Go to [52.205621, 0.106852]..., when we reach this location we find some bins. On one of the bins is a number, which takes 101 Collatz iterations to reach 1. This is the answer, 101.