بخشی از مجموعه

چندین نمونه کد

~2 دقیقه مطالعه • بروزرسانی ۱۵ مهر ۱۴۰۴

شرح برنامه

این برنامه مقدار عبارت رادیکالی تودرتو را برای عدد n محاسبه می‌کند:
$$\sqrt{n + \sqrt{n + \sqrt{n + \cdots}}}$$
محاسبه تا زمانی ادامه می‌یابد که اختلاف بین دو مرحله کمتر از 1e-10 شود (یعنی دقت ۱۰ رقم اعشار).


کد پایتون:


import math

def nested_sqrt(n: float, precision: int = 10) -> float:
    epsilon = 10 ** (-precision)
    current = math.sqrt(n)
    while True:
        next_val = math.sqrt(n + current)
        if abs(next_val - current) < epsilon:
            break
        current = next_val
    return round(current, precision)

# دریافت ورودی از کاربر
n = float(input("عدد n را وارد کنید: "))
result = nested_sqrt(n)
print(f"مقدار عبارت رادیکالی برای n = {n} برابر است با: {result}")

نمونه خروجی:


ورودی: 5  
مقدار عبارت رادیکالی برای n = 5 برابر است با: 3.3301910412

توضیح مراحل:

- ابتدا مقدار اولیه برابر با √n در نظر گرفته می‌شود
- در هر مرحله مقدار جدید برابر با √(n + مقدار قبلی) محاسبه می‌شود
- اگر اختلاف بین دو مقدار کمتر از 10⁻¹⁰ باشد، حلقه متوقف می‌شود
- مقدار نهایی با دقت ۱۰ رقم اعشار نمایش داده می‌شود


نوشته و پژوهش شده توسط دکتر شاهین صیامی