10-02-2013, 03:34 PM

ULAM - Using Ulam's Conjecture to determine the number of steps it takes to reduce an integer N to 1 using the following rules:If N is odd: N = 3×N+1

If N is even: N=N/29/24/2013

Program:

EXPORT ULAM(N)

BEGIN

LOCAL C;

PRINT();

REPEAT

IF FP(N/2)==0 THEN

N:=N/2;

ELSE

N:=3*N+1;

END;

C:=C+1;

PRINT(N);

UNTIL N==1;

RETURN C;

END;Examples:

ULAM(69): 208, 104, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1 (14 steps)ULAM(84): 42, 21, 64, 32, 16, 8, 4, 2, 1 (9 steps)