p0071_s0.py

problem 71 · 30 lines

#!/usr/bin/env python3.14
# -*- coding: utf-8 -*-
""" Solution to Euler Problem 71: Ordered Fractions [Level 2]. """
from __future__ import annotations

import fractions

from solver.runners import runner


@runner.main
def solve(*args: str) -> str:
    """Farey neighbour of 3/7 in F_N: the immediate left fraction is 3/7 - 1/(7k) with
    k = floor(N/7), the largest denominator multiple of 7 within the bound; O(1).
    fractions.Fraction reduces the result automatically."""
    max_d = runner.parse_int(args[0])

    result: fractions.Fraction = fractions.Fraction(3, 7) - fractions.Fraction(1, 7 * (max_d // 7))
    if runner.show:
        difference = fractions.Fraction(3, 7) - result
        print(f"Solution for max_d={max_d!r}: "
              f"result={result!r} "
              f"difference={difference!r} "
              f"result.numerator={result.numerator!r}")
    return str(result.numerator)


if __name__ == "__main__":
    raise SystemExit(solve())