(phixonline)--> with javascript_semantics include mpfr.e procedure repunit(mpz z, integer n, base=10) mpz_set_si(z,0) for i=1 to n do mpz_mul_si(z,z,base) mpz_add_si(z,z,1) end for end procedure atom t0 = time() constant {limit,blimit} = iff(platform()=JS?{400,16} -- 8.8s :{1000,16}) -- 50.3s -- :{1000,36}) -- 4 min 20s -- :{2700,16}) -- 28 min 35s -- :{2700,36}) -- >patience sequence primes = get_primes_le(limit) mpz z = mpz_init() for base=2 to blimit do sequence rprimes = {} for i=1 to length(primes) do integer p = primes[i] repunit(z,p,base) if mpz_prime(z) then rprimes = append(rprimes,sprint(p)) end if end for printf(1,"Base %2d: %s\n", {base, join(rprimes)}) end for ?elapsed(time()-t0)