این برنامه پایتون دو عدد 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}")
Q(3, 2) = 5