Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.soft-sys.math.mathematica > #3073

Re: Seaching in Pi a sequence. Looking for a faster method

From Phil J Taylor <xptaylor@gmail.com>
Newsgroups comp.soft-sys.math.mathematica
Subject Re: Seaching in Pi a sequence. Looking for a faster method
Date 2011-06-11 07:59 +0000
Organization Steven M. Christensen and Associates, Inc and MathTensor, Inc.
Message-ID <isv78c$7n$1@smc.vnet.net> (permalink)
References <201106101038.GAA19889@smc.vnet.net>

Show all headers | View raw


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

Back to comp.soft-sys.math.mathematica | Previous | Next | Find similar | Unroll thread


Thread

Re: Seaching in Pi a sequence. Looking for a faster method Phil J Taylor <xptaylor@gmail.com> - 2011-06-11 07:59 +0000

csiph-web