Babylonian method

Innen: testwiki
Ugrás a navigációhoz Ugrás a kereséshez

Sablon:Engfn

  1. Sablon:Label babiloni módszer a négyzetgyök számolására

A babilóniai módszer egy iteratív algoritmus a négyzetgyök kiszámítására. Ez az ún. Heron-módszer, amely egy ókori görög matematikustól, Herontól is ismert. A módszer az alábbi egyszerű elven alapul:

Ha meg akarjuk találni egy S szám négyzetgyökét (√S), akkor keresünk egy olyan x számot, amelyre x² ≈ S. Az algoritmus így működik:

  1. Válasszunk egy x₀ kezdeti becslést (például S/2 vagy 1).
  2. Használjuk az iterációs képletet: xn+1=xn+S/xn2Ez azt jelenti, hogy az xₙ és S/xₙ számtani közepe egyre jobb közelítés lesz √S-re.
  3. Addig ismételjük, amíg az érték kellően pontos nem lesz (például amíg a változás xₙ+1 - xₙ kisebb egy adott hibahatárnál, pl. 0.00001).



C++ kód a babilóniai módszerre

Az alábbi kód egy egyszerű implementációt mutat be a babilóniai módszerre:

#include <iostream>
#include <cmath>

double babylonianSqrt(double S, double epsilon = 0.00001) {
    if (S < 0) {
        std::cerr << "Negatív számnak nincs valós négyzetgyöke!" << std::endl;
        return -1;
    }

    double x = S / 2.0; // Kezdő becslés
    while (std::abs(x * x - S) > epsilon) {
        x = (x + S / x) / 2.0;
    }
    return x;
}

int main() {
    double number;
    std::cout << "Adj meg egy számot: ";
    std::cin >> number;

    double result = babylonianSqrt(number);
    if (result != -1) {
        std::cout << "A " << number << " négyzetgyöke (babilóniai módszerrel): " << result << std::endl;
    }

    return 0;
}

Magyarázat

  1. babylonianSqrt(double S, double epsilon = 0.00001)
    • S: A szám, amelynek a négyzetgyökét keressük.
    • epsilon: A pontossági határ, amelynél megállunk.
    • Ha S < 0, hibaüzenetet ad, mert negatív számoknak nincs valós négyzetgyöke.
    • x kezdeti értéke S/2 (vagy lehet 1 is).
    • A while ciklus addig fut, amíg |x² - S| > epsilon, vagyis amíg az eredmény nem elég pontos.
  1. Iteráció
    • Az új x értékét az (x + S/x) / 2 képlettel számoljuk.
    • Az egyre jobb közelítés miatt az érték gyorsan konvergál √S-hez.
  1. Használat
    • A felhasználó beír egy számot, és a program kiírja annak négyzetgyökét a babilóniai módszerrel.



Összegzés

  • A babilóniai módszer egy gyors és hatékony algoritmus a négyzetgyök kiszámítására.
  • Iteratív módon javítja az eredményt, és nagyon gyorsan közelít a valódi értékhez.
  • A C++ kód egyszerű, könnyen érthető, és pontos eredményeket ad.

Sablon:Engl