Where is your phone number in π?

Thanks to the success of my recent blog post about getting the perfect Google Voice number, Grep-style, I decided to post a little follow-up, dedicated to math nerds.

Here is a quick and dirty Python script to find which available Google Voice phone numbers appear first in decimal digits of π.

It is also available on GitHub.


  • A numbers file, with phone numbers, just numbers, one per line.
  • A pi file, with decimal digits of π, omitting the leading 3.. You can easily download files with millions of digits of π, or compute them in a few minutes on a recent laptop.

from multiprocessing import Pool

# Config
# Number of processes

records = {}

def find(n):
    res = digits.find(n)
    if res > -1:
        print("%s found at index %d." % (n, res))
        return (n, res)

with open('pi') as f:
    digits = f.readline().strip()

numbers = [line.strip() for line in open('numbers')]

res = set(p.map(find, numbers))


for n, count in res:
    records[n] = count

results = sorted(records, key=records.get)
for n in results:
    print("%s => %d" % (n, records[n]))