Aller au contenu
🛠️ToolsShed

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.