A183133 Number of steps to compute the n-th prime in PRIMEGAME using Kilminster's Fractran program with only nine fractions.
10, 46, 196, 500, 1428, 2488, 4588, 6840, 10546, 17118, 23064, 33332, 44472, 55848, 70330, 90836, 115136, 137912, 168802, 201000, 233542, 276680, 320332, 373198, 439722, 503810, 568334, 640092, 712314, 792186, 917090, 1023878, 1146632, 1263818, 1419298
Offset: 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.
Programs
-
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 *)