OFFSET
1,1
REFERENCES
D. Olivastro, Ancient Puzzles. Bantam Books, NY, 1993, p. 21.
LINKS
Alois P. Heinz, Table of n, a(n) for n = 1..100
J. H. Conway, FRACTRAN: a simple universal programming language for arithmetic, in T. M. Cover and Gopinath, eds., Open Problems in Communication and Computation, Springer, NY 1987, pp. 4-26.
Esolang wiki "Fractran".
Chaim Goodman-Strauss, Can’t Decide? Undecide!, Notices of the AMS, Volume 57, Number 3, pp. 343-356, March 2010.
R. K. Guy, Conway's prime producing machine, Math. Mag. 56 (1983), no. 1, 26-33.
Eric Weisstein's World of Mathematics, FRACTRAN.
Wikipedia, FRACTRAN.
MAPLE
a:= proc(n) option remember;
local l, p, m, k;
l:= [3/11, 847/45, 143/6, 7/3, 10/91, 3/7, 36/325, 1/2, 36/5]:
if n=1 then b(0):= 10; a(0):= 0
else a(n-1)
fi;
p:= b(n-1);
for m do
for k while not type(p*l[k], integer)
do od; p:= p*l[k];
if 10^ilog10(p)=p then break fi
od:
b(n):= p;
m + a(n-1)
end:
seq(a(n), n=1..20);
MATHEMATICA
a[n_] := a[n] = Module[{l, p, m, k},
l = {3/11, 847/45, 143/6, 7/3, 10/91, 3/7, 36/325, 1/2, 36/5};
If[n == 1, b[0] = 10; a[0] = 0, a[n - 1]]; p = b[n - 1];
For[m = 1, True, m++,
For[k = 1, !IntegerQ[p*l[[k]]], k++];
p = p*l[[k]]; If[10^(Length@IntegerDigits[p]-1) == p, Break[]]];
b[n] = p; m + a[n - 1]];
Array[a, 20] (* Jean-François Alcover, Apr 02 2021, after Alois P. Heinz *)
CROSSREFS
KEYWORD
easy,nonn
AUTHOR
Alois P. Heinz, Dec 26 2010
STATUS
approved