Are there any useful cases of recursion? I am beginning to learn recursion and came across an example of using recursion for factorial of a number.
def factorial(num):
if num == 1:
return 1
else:
return num * factorial(num - 1)
However, it can be done without recursion and would be faster when timed...
def fact(num):
lst = []
number = num
for i in range(1,num):
lst.append(i)
for i in lst:
number = number * i
return number