import numpy as np
import math
from decimal import Decimal, getcontext
# Устанавливаем нужную точность (например, 50 знаков после запятой)
getcontext().prec = 50
def func(x):
# Переводим x в Decimal для точных вычислений
x_decimal = Decimal(x)
return (x_decimal.sqrt() + 7).sqrt() - 3 * Decimal(math.cos(float(x_decimal)))
def derivative(func, x, dx=1e-6):
# Также используем Decimal для вычислений производной
x_decimal = Decimal(x)
dx_decimal = Decimal(dx)
return (func(x_decimal + dx_decimal) - func(x_decimal - dx_decimal)) / (2 * dx_decimal)
# Начальные условия
e = Decimal(0.001) # Точность с использованием Decimal
x0 = Decimal(9) # Начальное приближение
max_iter = 100 # Ограничение по итерациям
# Метод Ньютона (касательной)
for _ in range(max_iter):
x = x0 - func(x0) / derivative(func, x0)
if abs(x - x0) < e: # Проверяем точность
break
x0 = x # Обновляем x0
# Печатаем результат с высокой точностью
print(f"Найденный корень: {x:.50f}")
aW1wb3J0IG51bXB5IGFzIG5wCmltcG9ydCBtYXRoCmZyb20gZGVjaW1hbCBpbXBvcnQgRGVjaW1hbCwgZ2V0Y29udGV4dAoKIyDQo9GB0YLQsNC90LDQstC70LjQstCw0LXQvCDQvdGD0LbQvdGD0Y4g0YLQvtGH0L3QvtGB0YLRjCAo0L3QsNC/0YDQuNC80LXRgCwgNTAg0LfQvdCw0LrQvtCyINC/0L7RgdC70LUg0LfQsNC/0Y/RgtC+0LkpCmdldGNvbnRleHQoKS5wcmVjID0gNTAKCmRlZiBmdW5jKHgpOgogICAgIyDQn9C10YDQtdCy0L7QtNC40LwgeCDQsiBEZWNpbWFsINC00LvRjyDRgtC+0YfQvdGL0YUg0LLRi9GH0LjRgdC70LXQvdC40LkKICAgIHhfZGVjaW1hbCA9IERlY2ltYWwoeCkKICAgIHJldHVybiAoeF9kZWNpbWFsLnNxcnQoKSArIDcpLnNxcnQoKSAtIDMgKiBEZWNpbWFsKG1hdGguY29zKGZsb2F0KHhfZGVjaW1hbCkpKQoKZGVmIGRlcml2YXRpdmUoZnVuYywgeCwgZHg9MWUtNik6CiAgICAjINCi0LDQutC20LUg0LjRgdC/0L7Qu9GM0LfRg9C10LwgRGVjaW1hbCDQtNC70Y8g0LLRi9GH0LjRgdC70LXQvdC40Lkg0L/RgNC+0LjQt9Cy0L7QtNC90L7QuQogICAgeF9kZWNpbWFsID0gRGVjaW1hbCh4KQogICAgZHhfZGVjaW1hbCA9IERlY2ltYWwoZHgpCiAgICByZXR1cm4gKGZ1bmMoeF9kZWNpbWFsICsgZHhfZGVjaW1hbCkgLSBmdW5jKHhfZGVjaW1hbCAtIGR4X2RlY2ltYWwpKSAvICgyICogZHhfZGVjaW1hbCkKCiMg0J3QsNGH0LDQu9GM0L3Ri9C1INGD0YHQu9C+0LLQuNGPCmUgPSBEZWNpbWFsKDAuMDAxKSAgIyDQotC+0YfQvdC+0YHRgtGMINGBINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC10LwgRGVjaW1hbAp4MCA9IERlY2ltYWwoOSkgICMg0J3QsNGH0LDQu9GM0L3QvtC1INC/0YDQuNCx0LvQuNC20LXQvdC40LUKbWF4X2l0ZXIgPSAxMDAgICMg0J7Qs9GA0LDQvdC40YfQtdC90LjQtSDQv9C+INC40YLQtdGA0LDRhtC40Y/QvAoKIyDQnNC10YLQvtC0INCd0YzRjtGC0L7QvdCwICjQutCw0YHQsNGC0LXQu9GM0L3QvtC5KQpmb3IgXyBpbiByYW5nZShtYXhfaXRlcik6CiAgICB4ID0geDAgLSBmdW5jKHgwKSAvIGRlcml2YXRpdmUoZnVuYywgeDApCiAgICAKICAgIGlmIGFicyh4IC0geDApIDwgZTogICMg0J/RgNC+0LLQtdGA0Y/QtdC8INGC0L7Rh9C90L7RgdGC0YwKICAgICAgICBicmVhawogICAgeDAgPSB4ICAjINCe0LHQvdC+0LLQu9GP0LXQvCB4MAoKIyDQn9C10YfQsNGC0LDQtdC8INGA0LXQt9GD0LvRjNGC0LDRgiDRgSDQstGL0YHQvtC60L7QuSDRgtC+0YfQvdC+0YHRgtGM0Y4KcHJpbnQoZiLQndCw0LnQtNC10L3QvdGL0Lkg0LrQvtGA0LXQvdGMOiB7eDouNTBmfSIp