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