



"""simple docstring"""






from __future__ import annotations

from decimal import Decimal
from math import *  # noqa: F403

from sympy import diff






def   snake_case__     (	__lowerCamelCase       :					str							,	__lowerCamelCase       :					float | Decimal							,	__lowerCamelCase       :					float = 10**-10			):
			"""simple docstring"""
			lowerCamelCase__	:	Optional[int]				=a
			while True:
						lowerCamelCase__	:	List[Any]				=Decimal(__lowerCamelCase			) - (
						    Decimal(eval(__lowerCamelCase			)			) / Decimal(eval(str(diff(__lowerCamelCase			)			)			)			)  # noqa: S307
						)
						# This number dictates the accuracy of the answer
						if abs(eval(__lowerCamelCase			)			) < precision:  # noqa: S307
									return float(__lowerCamelCase			)


# Let's Execute
if __name__ == "__main__":
		# Find root of trigonometric function
		# Find value of pi
		print(f'The root of sin(x) = 0 is {newton_raphson("sin(x)", 2)}')
		# Find root of polynomial
		print(f'The root of x**2 - 5*x + 2 = 0 is {newton_raphson("x**2 - 5*x + 2", 0.4)}')
		# Find Square Root of 5
		print(f'The root of log(x) - 1 = 0 is {newton_raphson("log(x) - 1", 2)}')
		# Exponential Roots
		print(f'The root of exp(x) - 1 = 0 is {newton_raphson("exp(x) - 1", 0)}')









"""simple docstring"""






def   snake_case__     (	__lowerCamelCase       :					int = 10							,	__lowerCamelCase       :					int = 22			):
			"""simple docstring"""
			lowerCamelCase__	:	Optional[Any]				=range(1							,	__lowerCamelCase			)
			lowerCamelCase__	:	str				=range(1							,	__lowerCamelCase			)
			return sum(
			    1 for power in powers for base in bases if len(str(base**power			)			) == power			)


if __name__ == "__main__":
		print(f'{solution(1_0, 2_2) = }')




