• + 1 comment

    Mathematically it is easy to see that the program will always terminate, because after each iteration, the maximum number from the original list will never show up in the next list and the max keeps decreasing. The challenge, of course, is to figure out the exact number of steps it will take to terminate within the bounds of limited computation resources.