İçeriğe geç
🛠️ToolsShed

Sürekli Kesir Hesaplayıcı

Ondalık sayı veya kesirleri sürekli kesir gösterimine dönüştür.

Bu araç hakkında

Devamlı kesir, herhangi bir gerçek sayıyı iç içe bölümlerin bir dizisi olarak ifade eden matematiksel bir gösterimdir. Standart ondalık gösterimden farklı olarak, devamlı kesirler bir sayının temel aritmetik yapısını ortaya çıkarır ve giderek daha iyi rasyonel yaklaşımlar sağlar. Bu araç, girişinizi—3.14159 gibi bir ondalık sayı ya da 355/113 gibi bir kesir—devamlı kesir biçimine dönüştürerek, matematikçilerin irrasyonel sabitler için tarihsel olarak nasıl olağanüstü kesin rasyonel yaklaşımlar bulduğunu anlamanızı kolaylaştırır.

Bu hesap makinesi kullanmak basittir: ondalık sayınızı veya pay/payda biçiminde bir kesri girin, ardından kaç terim hesaplamak istediğinizi belirtin. Araç, devamlı kesir gösterimini [a₀; a₁, a₂, ...] biçiminde görüntüler ve yakınsayan kesirlerin bir tablosunu oluşturur—orijinal sayınıza giderek artan kesinlikle yaklaşan kesirler dizisi. Her yakınsayan kesir, paydasının boyutuna göre mümkün olan en iyi rasyonel yaklaşımı sağlar; bu özellik navigasyon sistemlerinde, astronomik hesaplamalarda ve müzik ayarlamada kullanılır.

Devamlı kesirler sayı teorisi ve kriptografide özellikle değerlidir; irrasyonel sayıları verimli şekilde yaklaşık olarak hesaplamak ince matematiksel özellikleri ortaya çıkarabilir. Belirli irrasyonel sayılar (2'nin karekökü gibi) için ortaya çıkan periyodik desenler cebir ve geometri ile derin bağlantıları ortaya koyar. Saf matematiği araştırıyor olun, mühendislik yaklaşımlarını doğruluyor olun veya 355/113'ün π'yi neden bu kadar doğru bir şekilde yaklaşık hale getirdiğinden merak ediyor olun, bu araç soyut devamlı kesir teorisini görsel, etkileşimli hesaplamaya dönüştürür.

Sıkça Sorulan Sorular

Kod Uygulaması

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.