M

M0


M1


M2


M3


M4


M5

π calculation using a Machin-like arctangent formula

#!/usr/bin/python3
from decimal import Decimal, getcontext
import sys
digits = int(sys.argv[1]) if len(sys.argv) > 1 else 50
getcontext().prec = digits + 5  # a few extra digits to avoid rounding errors

def arctan(x):
    """Compute arctan(1/x) using the Taylor series."""
    x = Decimal(x)
    x2 = x * x
    term = Decimal(1) / x
    total = term
    n = 1
    sign = -1
    while True:
        term = term / x2
        delta = term / (2 * n + 1)
        if delta == 0:
            break
        total += sign * delta
        sign *= -1
        n += 1
    return total

pi = 16 * arctan(5) - 4 * arctan(239)
pi = +pi  # unary plus applies current context precision
print(f"Pi to {digits} digits:\n{str(pi)[:digits+2]}")

M6

Today is piday Here’s a bash script I saved as “pi” somewhere in $PATH

#!/bin/bash
echo “scale=$1;a(1)*4” | bc -l

I demonstrate it this way:

$ for i in {1..20}; do pi $i; done

2.8
3.12
3.140
3.1412
3.14156
3.141592
3.1415924
3.14159264
3.141592652
3.1415926532
3.14159265356
3.141592653588
3.1415926535896
3.14159265358976
3.141592653589792
3.1415926535897932
3.14159265358979320
3.141592653589793236
3.1415926535897932384
3.14159265358979323844


M7


M8


M9


MA


MB

Nicole de Boer (Ezri Dax)


MC


MD


ME


MF


MG


MH


MI


MJ


MK


ML


MM

Diablo Reservoir (Thunder Arm), Highway 20, Ross Dam. North Cascades National Park


MN


MO


MP


MQ

Screenshot


MR


MS


MT


MU


MV


MW


MX


MY


MZ