login
This site is supported by donations to The OEIS Foundation.

 

Logo


Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A247747 Whole number sieve of Pi. 5
1, 5, 9, 8, 4, 7, 9, 9, 5, 2, 16, 20, 62, 8, 3, 9, 28, 9, 44, 95, 58, 3, 2, 5, 8, 8, 7, 28, 0, 10, 59, 9, 7, 4, 78, 6, 6, 60, 6, 54, 66, 9, 0, 60, 9, 2, 7, 0, 1, 88, 0, 96, 9, 0, 6, 6, 0, 0, 305, 6, 4, 9, 9, 94, 270, 7, 9, 2, 6, 93, 1, 3, 5, 7, 6, 9, 35, 57, 9, 8, 0 (list; graph; refs; listen; history; text; internal format)
OFFSET

1,2

LINKS

Manfred Scheucher, Table of n, a(n) for n = 1..552

Manfred Scheucher, Sage Script

EXAMPLE

Find the first occurrence of 0 (the first whole number) in the digits of Pi (only 35 digits in this illustration):

31415926535897932384626433832795028..., and replace it with a space:

31415926535897932384626433832795 28...  Repeat the process with the next whole number, 1:

3 415926535897932384626433832795 28...  Then 2:

3 4159 6535897932384626433832795 28...  Then 3:

  4159 6535897932384626433832795 28...  Then 4,5,6,7, etc., until the first occurrence of every counting number is eliminated from the digits of Pi.

   1    5   9     8    4           ...  Then consolidate gaps between the remaining digits into a single comma:

1,5,9,8,4,7,9,9,5,2,16,20,6,8,3,9, ...  to produce the first terms in the whole number sieve of Pi.

PROG

(Python)

def arccot(x, unity):

    sum = xpower = unity // x

    n = 3

    sign = -1

    while 1:

        xpower = xpower // (x*x)

        term = xpower // n

        if not term:

            break

        sum += sign * term

        sign = -sign

        n += 2

    return sum

def pi(digits):

    unity = 10**(digits + 10)

    pi = 4 * (4*arccot(5, unity) - arccot(239, unity))

    return pi // 10**10

def primes(n):

    """ Returns  a list of primes < n """

    sieve = [True] * n

    for i in xrange(3, int(n**0.5)+1, 2):

        if sieve[i]:

            sieve[i*i::2*i]=[False]*((n-i*i-1)/(2*i)+1)

    return [2] + [i for i in xrange(3, n, 2) if sieve[i]]

a = pi(400)

b = range(100000)

y = str(a)

for x in b:

    if str(x) in y:

        y = y.replace(str(x), " ", 1)#replace first occurrence only

while "  " in y:

    y = y.replace("  ", " ")#replace long chains of spaces with a single space

z = y.split(" ")#split terms into a list

z = filter(None, z)#remove null terms

f = map(int, z)#convert to integers

print(f[0:-1])

# Code for A245770 by David Consiglio, Jr., Jan 03 2015

# Modified by Manfred Scheucher,  Jun 05 2015

CROSSREFS

Cf. A000796, A245770, A258640, A258481, A257835.

Sequence in context: A255247 A153610 A249385 * A308577 A217249 A091812

Adjacent sequences:  A247744 A247745 A247746 * A247748 A247749 A247750

KEYWORD

nonn,base

AUTHOR

Gil Broussard, Sep 23 2014

EXTENSIONS

Corrected and extended by Manfred Scheucher, Jun 05 2015

STATUS

approved

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recent
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified October 16 21:10 EDT 2019. Contains 328103 sequences. (Running on oeis4.)