cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A014777 Position of the start of the first occurrence of n after the decimal point in Pi = 3.14159265358979323846264338327950288...

Original entry on oeis.org

32, 1, 6, 9, 2, 4, 7, 13, 11, 5, 49, 94, 148, 110, 1, 3, 40, 95, 424, 37, 53, 93, 135, 16, 292, 89, 6, 28, 33, 186, 64, 137, 15, 24, 86, 9, 285, 46, 17, 43, 70, 2, 92, 23, 59, 60, 19, 119, 87, 57, 31, 48, 172, 8, 191, 130, 210, 404, 10, 4, 127, 219, 20, 312, 22, 7, 117, 98, 605
Offset: 0

Views

Author

Paul Simon (paulsimn(AT)microtec.net) and Simon Plouffe

Keywords

Comments

This is A037008(1), A037000(1), A037001(1), A037002(1), A037003(1), A037004(1), A037005(1), A036974(1), A037006(1), A037007(1) etc.

Examples

			In the decimal expansion of Pi, the string "0" is found at position 32 counting from the first digit after the decimal point. The string "1" is found at position 1, the string "2" at position 6, the string "3" at position 9, etc.
		

Crossrefs

Programs

  • Magma
    k := 700; R := RealField(k); [ Position(IntegerToString(Round(10^k*(-3 + Pi(R)))), IntegerToString(n)) : n in [0..68] ]; /* Klaus Brockhaus, Feb 15 2007 */
    
  • Mathematica
    Table[-1 + SequencePosition[#, IntegerDigits@ n][[1, 1]], {n, 0, 68}] &@ First@ RealDigits@ N[Pi, 10^4] (* Michael De Vlieger, Aug 10 2016, Version 10.1 *)
  • PARI
    M14777=Map(); A014777(n)={iferr(mapget(M14777, n), E, my(i=if(n>9, A014777(n\10), 1), d=if(n, digits(n), [0]), j); while(i++, j=#d; until(!j, d[j]==A000796(i+j--) || next(2)); break); mapput(M14777, n, i--); i)} \\ M. F. Hasler, Jun 21 2022
    
  • Python
    from mpmath import mp
    def A014777(n):
        if not (i := A014777.pos.get(n, 0)):
            d = str(n); s = 2 # starting position for search
            while (i := A014777.pi.find(d, s)) < 1:
                s = max(len(A014777.pi) - len(d), 2)
                with mp.workdps(s + 99 if s < 500 else s*6//5): # new precision
                    A014777.pi = str(mp.pi - 5/mp.mpf(10)**mp.dps) # don't round
            i -= 1; A014777.pos[n] = i
        return i
    A014777.pi = ''; A014777.pos = {} # M. F. Hasler, Jun 21 2022

Extensions

More terms from Klaus Brockhaus, Feb 15 2007