<jupyter_start><jupyter_text>Square root convergents It is possible to show that the square root of two can be expressed as an infinite continued fraction.√ 2 = 1 + 1/(2 + 1/(2 + 1/(2 + ... ))) = 1.414213...By expanding this for the first four iterations, we get:1 + 1/2 = 3/2 = 1.51 + 1/(2 + 1/2) = 7/5 = 1.41 + 1/(2 + 1/(2 + 1/2)) = 17/12 = 1.41666...1 + 1/(2 + 1/(2 + 1/(2 + 1/2))) = 41/29 = 1.41379...The next three expansions are 99/70, 239/169, and 577/408, but the eighth expansion, 1393/985, is the first example where the number of digits in the numerator exceeds the number of digits in the denominator.In the first one-thousand expansions, how many fractions contain a numerator with more digits than denominator? ---  Idea Assume previous expansion result is $ \frac{n}{d} $, then the next expansion is $ 1 + \frac{1}{1+\frac{n}{d}} = \frac{n+d+d}{n+d} $ ---<jupyter_code>import sys, os; sys.path.append(os.path.abspath('..'))
from timer import timethis
def generate_expansion():
    n, d = 1, 1
    while True:
        yield n, d
        n, d = 2 * d + n, n + d
@timethis
def solve():
    cnt = 0
    for i, e in enumerate(generate_expansion()):
        if i >= 1000:
            break
        n, d = e
        cnt += (len(str(n)) > len(str(d)))
    return cnt
solve()<jupyter_output>Run for 0.000 seconds
{'fraction_non_alphanumeric': 0.15022761760242792, 'fraction_numerical': 0.07966616084977238, 'mean_word_length': 2.8343023255813953, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '464624', 'license': 'MIT', 'n_tokens_mistral': 535, 'n_tokens_neox': 455, 'n_words': 170, 'path': '51-75/p57.ipynb', 'repo_name': 'Sorosliu1029/Euler', 'size': '1318'}