Project Euler Problem 040
Statement
An irrational decimal fraction is created by concatenating the positive integers:
0.123456789101112131415161718192021…
It can be seen that the 12th digit of the fractional part is 1.
If $d_n$ represents the nth digit of the fractional part, find the value of the following expression.
$d_1 * d_{10} * d_{100} * d_{1000} * d_{10000} * d_{100000} * d_{1000000}$
Solution
Straight-forward solution using Python:
from functools import reduce if __name__ == '__main__': decimal_part = [] i = 1 while len(decimal_part) < 1000000: decimal_part.append(str(i)) i += 1 decimal_part = ''.join(decimal_part) result = reduce(lambda x, y: x * int(decimal_part[int('9' * y)]), range(1, 6), int(decimal_part[0])) print("The result is:", result)
The Python file is available for download here.