Calculateur de Fractions Continues
Convertissez des décimaux ou fractions en notation de fraction continue avec convergents.
À propos de cet outil
Une fraction continue est une représentation mathématique qui exprime n'importe quel nombre réel comme une séquence de divisions imbriquées. Contrairement à la notation décimale standard, les fractions continues révèlent la structure arithmétique sous-jacente d'un nombre et fournissent des approximations rationnelles progressivement meilleures. Cet outil convertit votre entrée—qu'il s'agisse d'un nombre décimal comme 3.14159 ou d'une fraction comme 355/113—en sa forme de fraction continue, vous permettant de comprendre facilement comment les mathématiciens ont historiquement découvert des approximations rationnelles remarquablement précises de constantes irrationnelles.
Utiliser cette calculatrice est simple : entrez votre nombre décimal ou une fraction sous la forme numérateur/dénominateur, puis précisez le nombre de termes que vous souhaitez calculer. L'outil affiche la notation de fraction continue sous la forme [a₀ ; a₁, a₂, ...] et génère un tableau de convergents—la séquence de fractions qui se rapprochent progressivement de votre nombre original avec une précision croissante. Chaque convergent fournit la meilleure approximation rationnelle possible relative à la taille de son dénominateur, une propriété exploitée dans les systèmes de navigation, les calculs astronomiques et l'accordage musical.
Les fractions continues sont particulièrement précieuses en théorie des nombres et en cryptographie, où l'approximation efficace de nombres irrationnels peut exposer des propriétés mathématiques subtiles. Les motifs périodiques qui émergeent pour certains nombres irrationnels (comme la racine carrée de 2) révèlent des connexions profondes avec l'algèbre et la géométrie. Que vous exploriez les mathématiques pures, validiez des approximations d'ingénierie ou soyez simplement curieux de savoir pourquoi 355/113 approxime π si précisément, cet outil transforme la théorie abstraite des fractions continues en calcul visuel et interactif.
Questions Fréquentes
Implémentation du Code
import math
def continued_fraction(x: float, max_terms: int = 20) -> list[int]:
"""Compute continued fraction representation of x"""
terms = []
remaining = x
for _ in range(max_terms):
a = int(math.floor(remaining))
terms.append(a)
frac = remaining - a
if abs(frac) < 1e-10:
break
remaining = 1 / frac
if not math.isfinite(remaining):
break
return terms
def convergents(terms: list[int]) -> list[tuple[int, int]]:
"""Compute convergents (rational approximations) from continued fraction terms"""
conv = []
h_prev, h_curr = 1, terms[0]
k_prev, k_curr = 0, 1
conv.append((h_curr, k_curr))
for i in range(1, len(terms)):
a = terms[i]
h_next = a * h_curr + h_prev
k_next = a * k_curr + k_prev
h_prev, h_curr = h_curr, h_next
k_prev, k_curr = k_curr, k_next
conv.append((h_curr, k_curr))
return conv
# Example: pi
pi_terms = continued_fraction(math.pi, 10)
print(f"pi = [{pi_terms[0]}; {', '.join(map(str, pi_terms[1:]))}]")
for num, den in convergents(pi_terms):
approx = num / den
error = abs(approx - math.pi)
print(f" {num}/{den} = {approx:.10f} (error: {error:.2e})")
# Golden ratio
phi = (1 + math.sqrt(5)) / 2
print(f"phi terms: {continued_fraction(phi, 8)}") # All ones!
# sqrt(2)
sqrt2_terms = continued_fraction(math.sqrt(2), 8)
print(f"sqrt(2) terms: {sqrt2_terms}") # [1; 2, 2, 2, ...]
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.