きったんの頭

#! /usr/bin/env python3
"""
pe40.py
https://mind.kittttttan.info/py/pe40
"""

def digit_at(n):
    d = 1
    n -= 1
    while 1:
        """
        number of 1 digit numbers is 9
        number of 2 digit numbers is 90
        number of 3 digit numbers is 900
            ...
        number of d digit numbers is 9*10**(d-1)
        """
        ds = d * 9 * 10**(d - 1)
        if n > ds:
            n -= ds
        else:
            break
        d += 1
    num = n // d + 10**(d - 1)
    return int(str(num)[n % d])

def pe40():
    """
    Finding the nth digit of the fractional part of the irrational number.
    """
    d = 1
    for i in range(7):
        d *= digit_at(10**i)
        # print(digit_at(10**i))
    print(d)
        
if __name__ == "__main__":
    pe40()