which is best way for calculating factorial of a number n
of more than 5 digit.
loop method:
s=1
for i in range(1,n+1):
s*=i
recursion method:
def fact(n):
if n==1 or n==0:
return 1
else:
return n*fact(n-1)
which is best way for calculating factorial of a number n
of more than 5 digit.
loop method:
s=1
for i in range(1,n+1):
s*=i
recursion method:
def fact(n):
if n==1 or n==0:
return 1
else:
return n*fact(n-1)
from math import factorial
The loop will definitely be faster as it avoids the overhead of the function calls i.e.use of stack to store calling functions that are waiting for recursion to terminate. Infact i have sometimes noticed that replacing a function by code in the main part speeds up program by almost 2-3 times. Best way to analyse this would be to submit both codes and see their relative performance for the "small factorials " question in easy section.
i wanted it for ‘factorial’ question in easy section
i had tried
import math math.factorial()
, but when i calculate it for 100000 and above it take more time in python
What do you want?
best algorithm for ‘factorial’ question ,so that my code doesn’t exceed the given time