From b5afe7509a764f1fecb3466f3ee5312d67ec138c Mon Sep 17 00:00:00 2001 From: trleo Date: Wed, 28 Oct 2026 17:58:46 +0600 Subject: [PATCH] Fix continued_fraction for large integers and big fractions (#15655) --- maths/continued_fraction.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/maths/continued_fraction.py b/maths/continued_fraction.py index 2c38bf88b1e9..165cb718d3b5 100644 --- a/maths/continued_fraction.py +++ b/maths/continued_fraction.py @@ -5,7 +5,6 @@ """ from fractions import Fraction -from math import floor def continued_fraction(num: Fraction) -> list[int]: @@ -35,11 +34,13 @@ def continued_fraction(num: Fraction) -> list[int]: [0, 1, 3] >>> continued_fraction(Fraction("-2.25")) # -2.25 = -3 + 0.75 [-3, 1, 3] + >>> continued_fraction(Fraction(2**53 + 3)) + [9007199254740995] """ numerator, denominator = num.as_integer_ratio() continued_fraction_list: list[int] = [] while True: - integer_part = floor(numerator / denominator) + integer_part = numerator // denominator continued_fraction_list.append(integer_part) numerator -= integer_part * denominator if numerator == 0: