Вычислить квадратный корень в Lua: примеры и код

Вот несколько методов вычисления квадратного корня числа в Lua:

Метод 1: использование функции math.sqrt()

local number = 16
local squareRoot = math.sqrt(number)
print(squareRoot)

Метод 2. Использование оператора возведения в степень

local number = 16
local squareRoot = number ^ 0.5
print(squareRoot)

Метод 3. Использование итеративного подхода

local function squareRoot(number)
    local guess = number / 2
    local threshold = 0.0001 -- Adjust the threshold for desired accuracy

    repeat
        local newGuess = (guess + number / guess) / 2
        if math.abs(newGuess - guess) < threshold then
            return newGuess
        end
        guess = newGuess
    until false
end
local number = 16
local result = squareRoot(number)
print(result)

Метод 4. Использование вавилонского метода

local function squareRoot(number)
    local guess = number / 2
    local threshold = 0.0001 -- Adjust the threshold for desired accuracy

    repeat
        local newGuess = (guess + number / guess) / 2
        if math.abs(newGuess * newGuess - number) < threshold then
            return newGuess
        end
        guess = newGuess
    until false
end
local number = 16
local result = squareRoot(number)
print(result)

Метод 5: использование метода Ньютона-Рафсона

local function squareRoot(number)
    local guess = number / 2
    local threshold = 0.0001 -- Adjust the threshold for desired accuracy

    repeat
        local newGuess = guess - (guess * guess - number) / (2 * guess)
        if math.abs(newGuess * newGuess - number) < threshold then
            return newGuess
        end
        guess = newGuess
    until false
end
local number = 16
local result = squareRoot(number)
print(result)