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

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

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

شرح برنامه

این برنامه پایتون دو عدد m و n را دریافت کرده و مقدار تابع بازگشتی Q(m, n) را بر اساس شرایط زیر محاسبه می‌کند:

  • اگر m = 1 یا n = 1 باشد، مقدار برابر با ۱ است.
  • اگر m = n باشد، مقدار برابر با 1 + Q(m, m - 1) است.
  • اگر m > n باشد، مقدار برابر با Q(m - 1, n) + Q(m - 1, n - 1) است.
  • در سایر موارد، مقدار برابر با Q(m, n - 1) + Q(m - 1, n) است.


کد پایتون:


def Q(m: int, n: int) -> int:
    if m == 1 or n == 1:
        return 1
    elif m == n:
        return 1 + Q(m, m - 1)
    elif m > n:
        return Q(m - 1, n) + Q(m - 1, n - 1)
    else:
        return Q(m, n - 1) + Q(m - 1, n)

# دریافت ورودی‌ها از کاربر
m = int(input("مقدار m را وارد کنید: "))
n = int(input("مقدار n را وارد کنید: "))

result = Q(m, n)
print(f"Q({m}, {n}) = {result}")

نمونه خروجی (ورودی: m = 3، n = 2):


Q(3, 2) = 5

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