29 lines
788 B
Text
29 lines
788 B
Text
test: procedure options (main, reorder); /* 6 August 2015 */
|
|
|
|
declare (m, n) fixed decimal (10);
|
|
declare (i, j, p, s, tally initial (0) ) fixed binary (31);
|
|
declare d fixed binary (7);
|
|
declare (start_time, finish_time, elapsed_time) float (15);
|
|
|
|
start_time = secs();
|
|
|
|
do m = 1 to 1000000;
|
|
n = m;
|
|
do until ((n = 1) | (n = 89));
|
|
p = n; s = 0;
|
|
do while (p > 0);
|
|
d = mod(p, 10);
|
|
p = p/10;
|
|
s = s + d*d;
|
|
end;
|
|
n = s;
|
|
end;
|
|
if n = 89 then tally = tally + 1;
|
|
end;
|
|
|
|
finish_time = secs();
|
|
put skip edit (Tally, ' numbers iterated to 89') (f(10), A);
|
|
elapsed_time = finish_time - start_time;
|
|
put skip edit ('Elapsed time=', elapsed_time, ' secs') (A, F(10,3));
|
|
|
|
end test;
|