ULAMLEX “Ulam’s Conjecture lexfile”. SIZE: 78 bytes.
*** ULAMLEX ***
(31950) File Header
(319A8) A0/1B ULAM(#)
(31A23) Next File Header
ULAM(x) calculates how many steps it takes for x to get to 1 by repeated
application of the Syracuse algorithm. Here's the Syracuse algorithm:
If x is even, replace it with x/2, otherwise replace it with 3x+1.
Ulam's Conjecture is that no matter what x you start with, you'll eventually get
down to 1. For this to be true, no x can grow without bound, nor get stuck in a
loop above 1.
ULAM(27)=111 because if you start at 27 it takes 111 steps (iterations of the
Syracuse algorithm) to get to 1. This iterative function is useless in itself,
but there's £1000 awaiting the one who can prove (or disprove, or find a
counterexample) that any number will eventually reach 1. To date, NOBODY has any
idea how to prove it, or prove that it can or can't be proven, or even how to
start working on such a proof. Most mathematicians are of the opinion that
proving/disproving Ulam's Conjecture will require the tools of a branch of
mathematics which has not even been invented yet.
Ulam's Conjecture is often listed among the greatest unsolved mathematical
problems of all time: easy to state, intractable to solve. However, Stanislaw
Ulam didn't invent it; it was misattributed to him early in its life, and the
name stuck. It is also known as the "3x+1 Problem".
If you are tempted to write a program that checks larger and larger inputs, then
see the SYRACUSE lexfile, which uses a faster algorithm for the same purpose.