 Open in App
Not now

# Python Program for factorial of a number

• Difficulty Level : Easy
• Last Updated : 30 Aug, 2022

Factorial of a non-negative integer, is multiplication of all integers smaller than or equal to n. For example factorial of 6 is 6*5*4*3*2*1 which is 720. ## python3

 `# Python 3 program to find``# factorial of given number``def` `factorial(n):``    ` `    ``# single line to find factorial``    ``return` `1` `if` `(n``=``=``1` `or` `n``=``=``0``) ``else` `n ``*` `factorial(n ``-` `1``);` `# Driver Code``num ``=` `5``;``print``(``"Factorial of"``,num,``"is"``,``factorial(num))` `# This code is contributed by Smitha Dinesh Semwal`

Output:

`Factorial of 5 is 120`

Time Complexity: O(n)
Auxiliary Space: O(n)

Method1:

## python3

 `# Python 3 program to find ``# factorial of given number``def` `factorial(n):``    ``if` `n < ``0``:``        ``return` `0``    ``elif` `n ``=``=` `0` `or` `n ``=``=` `1``:``        ``return` `1``    ``else``:``        ``fact ``=` `1``        ``while``(n > ``1``):``            ``fact ``*``=` `n``            ``n ``-``=` `1``        ``return` `fact` `# Driver Code``num ``=` `5``;``print``(``"Factorial of"``,num,``"is"``,``factorial(num))` `# This code is contributed by Dharmik Thakkar`

Output:

`Factorial of 5 is 120`

Time Complexity: O(n)
Auxiliary Space: O(1)

Method2:

## Python3

 `# Python 3 program to find``# factorial of given number`` ` `# Function to find factorial of given number``def` `factorial(n):``      ` `    ``res ``=` `1``     ` `    ``for` `i ``in` `range``(``2``, n``+``1``):``        ``res ``*``=` `i``    ``return` `res`` ``# Driver Code``num ``=` `5``;``print``(``"Factorial of"``, num, ``"is"``,``factorial(num))`

Output

`Factorial of 5 is 120`

Time Complexity: O(n)
Auxiliary Space: O(1)

## Python3

 `# Python 3 program to find``# factorial of given number` `def` `factorial(n):` `    ``# single line to find factorial``    ``return` `1` `if` `(n``=``=``1` `or` `n``=``=``0``) ``else` `n ``*` `factorial(n ``-` `1``)`  `# Driver Code``num ``=` `5``print` `(``"Factorial of"``,num,``"is"``,``      ``factorial(num))` `# This code is contributed``# by Smitha Dinesh Semwal.`

Output:

`Factorial of 5 is 120`

Time Complexity: O(n)
Auxiliary Space: O(n)

Please refer complete article on Program for factorial of a number for more details!

### 4. By using In-built function :

In Python, math module contains a number of mathematical operations, which can be performed with ease using the module. math.factorial() function returns the factorial of desired number.

Syntax: math.factorial(x)

Parameter:
x: This is a numeric expression.

Returns:  factorial of desired number.

## Python3

 `# Python 3 program to find``# factorial of given number``import` `math` `def` `factorial(n):``    ``return``(math.factorial(n))`  `# Driver Code``num ``=` `5``print``(``"Factorial of"``, num, ``"is"``,``      ``factorial(num))` `# This code is contributed by Ashutosh Pandit`

Output:

`Factorial of 5 is 120`

## Python3

 `import` `numpy``n``=``5``x``=``numpy.prod([i ``for` `i ``in` `range``(``1``,n``+``1``)])``print``(x)`

### Output

`120`

Time Complexity: O(n)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up