MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

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
>
>


  • Prev by Date: Show results live
  • Next by Date: Re: How to make the same two expressions
  • Previous by thread: Seaching in Pi a sequence. Looking for a faster method
  • Next by thread: Re: Seaching in Pi a sequence. Looking for a faster method