Skip to content

Commit b5afe75

Browse files
committed
Fix continued_fraction for large integers and big fractions (#15655)
1 parent 6e03a48 commit b5afe75

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

‎maths/continued_fraction.py‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
"""
66

77
from fractions import Fraction
8-
from math import floor
98

109

1110
def continued_fraction(num: Fraction) -> list[int]:
@@ -35,11 +34,13 @@ def continued_fraction(num: Fraction) -> list[int]:
3534
[0, 1, 3]
3635
>>> continued_fraction(Fraction("-2.25")) # -2.25 = -3 + 0.75
3736
[-3, 1, 3]
37+
>>> continued_fraction(Fraction(2**53 + 3))
38+
[9007199254740995]
3839
"""
3940
numerator, denominator = num.as_integer_ratio()
4041
continued_fraction_list: list[int] = []
4142
while True:
42-
integer_part = floor(numerator / denominator)
43+
integer_part = numerator // denominator
4344
continued_fraction_list.append(integer_part)
4445
numerator -= integer_part * denominator
4546
if numerator == 0:

0 commit comments

Comments
 (0)