Re: Seaching in Pi a sequence. Looking for a faster method
- To: mathgroup at smc.vnet.net
- Subject: [mg119588] Re: Seaching in Pi a sequence. Looking for a faster method
- From: Phil J Taylor <xptaylor at gmail.com>
- Date: Sat, 11 Jun 2011 03:59:13 -0400 (EDT)
- References: <201106101038.GAA19889@smc.vnet.net>
This works well for me ... it's about 3x faster than piesimo on my machine and I can search for any sequence. The final argument c is the number of matches that you are interested in seeing. piStringSearch[n_, s_, c_] := Module[{a}, a = ToString[N[Pi, n]]; StringPosition[a, ToString[s], c] /. {start_, end_} :> start - 2] piStringSearch[10^7, 9999999, 100] {1722776, 3389380, 4313727, 5466169} On Fri, Jun 10, 2011 at 6:38 AM, Guillermo Sanchez < guillermo.sanchez at hotmail.com> wrote: > Dear Group > > I have developed this function > > piesimo[n_, m_, r_] := Module[{a}, a = Split[RealDigits[Pi - 3, 10, n] > [[1]]]; Part[Accumulate[Length /@ a], Flatten[Position[a, Table[m, > {r}]]] - 1] + 1] > > n is the digits of Pi, after 3, where to search a sequence of m digit > r times consecutives. > For instance: > > piesimo[10^7, 9, 7] > > Gives that the sequence 9999999 happens in positions: > > {1722776, 3389380, 4313727, 5466169} > > I know that in this group I will find faster methods. Any idea? > > Guillermo > >
- References:
- Seaching in Pi a sequence. Looking for a faster method
- From: Guillermo Sanchez <guillermo.sanchez@hotmail.com>
- Seaching in Pi a sequence. Looking for a faster method