Concept Flow - Factorial and gamma functions
Start with n
Check if n is integer >= 0
Return result
Start with a number n, check if it's a non-negative integer. If yes, calculate factorial. Otherwise, calculate gamma function. Return the result.
from scipy.special import factorial, gamma n = 5 fact = factorial(n, exact=True) gam = gamma(n)
| Step | Variable | Value | Action | Result |
|---|---|---|---|---|
| 1 | n | 5 | Start with input number | n=5 |
| 2 | Check n integer >=0 | True | Condition for factorial | Use factorial |
| 3 | factorial(5) | 120 | Calculate factorial exactly | fact=120 |
| 4 | gamma(5) | 24.0 | Calculate gamma function | gam=24.0 |
| 5 | Return | fact=120, gam=24.0 | Output both results | Done |
| Variable | Start | After Step 2 | After Step 3 | After Step 4 | Final |
|---|---|---|---|---|---|
| n | 5 | 5 | 5 | 5 | 5 |
| fact | undefined | undefined | 120 | 120 | 120 |
| gam | undefined | undefined | undefined | 24.0 | 24.0 |
Factorial(n) calculates n! for non-negative integers. Gamma(n) extends factorial to real numbers. For integer n, gamma(n) = factorial(n-1). Use scipy.special.factorial(n, exact=True) for exact factorial. Use scipy.special.gamma(n) for gamma function. Factorial returns int; gamma returns float.