تمرین ۷:
!n در پایتون با الگوریتم بازگشتی
برنامهای به زبان پایتون بنویسید که فاکتوریل عدد طبیعی n یعنی !n را با الگوریتم بازگشتی محاسبه کند.
کد:
def Fact(x):
r = 0
if x == 0 or x == 1:
r = 1
else:
r = x * Fact(x-1)
return r
def Main():
print("n! through Recursive Algorithm")
print("To exit the program, enter a negative integer!")
print("-------------------------------------- \n")
while True:
try:
n = int(input("n = "))
if n<0:
print("The program is terminated. Bye!")
break
else:
print(n,"! = ", Fact(n), sep="", end="\n\n")
except:
print("Error: Maximum Recursion Depth! \n")
Main()
اجرا:
================= RESTART: C:\n! Recursive.py ================= pythonize.ir programmer: Mohammad Rajabpur ------------------------------------------------ n! through Recursive Algorithm To exit the program, enter a negative integer! ------------------------------------------------ n = 1 1! = 1 n = 2 2! = 2 n = 3 3! = 6 n = 4 4! = 24 n = 5 5! = 120 n = 6 6! = 720 n = 10 10! = 3628800 n = 20 20! = 2432902008176640000 n = 30 30! = 265252859812191058636308480000000 n = 40 40! = 815915283247897734345611269596115894272000000000 n = 50 50! = 30414093201713378043612608166064768844377641568960512000000000000 n = -1 The program is terminated. Bye!