Recursive Function( āĻĒুāύāϰাāĻŦৃāϤ্āϤ āĻĢাংāĻļāύ)
āĻেāύ āĻāĻŽāϰা āϰিāĻাāϰ্āϏāύ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦ?
Factorial Function
Iterative Factorial with explaination
def iterative_factorial(n):
result = 1
for i in range(1,n+1):
result = result * i
return result
print(iterative_factorial(5))
-----
āĻŦ্āϝাāĻ্āϝা:
1. āĻĢাংāĻļāύ āĻĄেāĻĢিāύিāĻļāύ: iterative_factorial(n) āĻāĻāĻি āĻĢাংāĻļāύ āϝা āĻāύāĻĒুāĻ āĻšিāϏেāĻŦে āĻāĻāĻি āϏংāĻ্āϝা n āύেāϝ় āĻāĻŦং āĻāϰ āĻĢ্āϝাāĻ্āĻোāϰিāϝ়াāϞ āĻŦেāϰ āĻāϰে।
2. āĻļুāϰু āĻŽাāύ: result = 1 āĻĻিāϝ়ে āĻļুāϰু āĻāϰা āĻšāϝ়েāĻে, āĻাāϰāĻŖ āĻĢ্āϝাāĻ্āĻোāϰিāϝ়াāϞেāϰ āĻāύ্āϝ āĻোāύো āϏংāĻ্āϝাāϰ āĻĢ্āϝাāĻ্āĻোāϰিāϝ়াāϞ ā§§ āĻĻিāϝ়ে āĻļুāϰু āĻšāϝ়।
3. āϞুāĻĒ: for i in range(1, n + 1) āϞুāĻĒāĻি ā§§ āĻĨেāĻে n āĻĒāϰ্āϝāύ্āϤ āĻĒ্āϰāϤিāĻি āϏংāĻ্āϝাāϰ āĻāύ্āϝ āĻāϞে। āĻāĻাāύে, range(1, n + 1) āĻŽাāύে ā§§ āĻĨেāĻে n āĻĒāϰ্āϝāύ্āϤ āϏāĻŦāĻুāϞো āϏংāĻ্āϝা āύেāĻŦে।
4. āĻুāĻŖ āĻāϰা: āϞুāĻĒেāϰ āĻĒ্āϰāϤিāĻি āϧাāĻĒে, result = result * i āĻāϰ āĻŽাāϧ্āϝāĻŽে āĻāĻেāϰ āĻŽাāύেāϰ āϏাāĻĨে āĻŦāϰ্āϤāĻŽাāύ āϏংāĻ্āϝা i āĻে āĻুāĻŖ āĻāϰা āĻšāϝ়। āĻĢāϞে result āϧাāĻĒে āϧাāĻĒে āĻĢ্āϝাāĻ্āĻোāϰিāϝ়াāϞেāϰ āĻŽাāύ āϧাāϰāĻŖ āĻāϰে।
5. āĻĢāϞাāĻĢāϞ āϰিāĻাāϰ্āύ āĻāϰা: āϞুāĻĒ āĻļেāώ āĻšāĻāϝ়াāϰ āĻĒāϰ, result-āĻ āĻĢ্āϝাāĻ্āĻোāϰিāϝ়াāϞেāϰ āĻূāĻĄ়াāύ্āϤ āĻŽাāύ āĻĨাāĻāĻŦে, āϝা return result āĻĻ্āĻŦাāϰা āĻĢেāϰāϤ āĻĻেāϝ়া āĻšāϝ়।
6. āĻĒ্āϰিāύ্āĻ: print(iterative_factorial(5)) āϞাāĻāύে ā§Ģ āϏংāĻ্āϝাāĻিāϰ āĻĢ্āϝাāĻ্āĻোāϰিāϝ়াāϞ āĻĢাংāĻļāύেāϰ āĻŽাāϧ্āϝāĻŽে āĻāĻŖāύা āĻāϰে āĻĒ্āϰিāύ্āĻ āĻāϰা āĻšāϝ়েāĻে। āĻ āϰ্āĻĨাā§, ā§Ģ! (ā§Ģ āĻĢ্āϝাāĻ্āĻোāϰিāϝ়াāϞ) = ā§Ģ × ā§Ē × ā§Š × ā§¨ × ā§§ = ⧧⧍ā§Ļ।
āĻāĻাāĻŦে, ā§Ģ āϏংāĻ্āϝাāϰ āĻĢ্āϝাāĻ্āĻো
āϰিāϝ়াāϞ āĻšিāϏেāĻŦে āĻāĻāĻāĻĒুāĻ āĻāϏāĻŦে ⧧⧍ā§Ļ।
āĻĒাāĻāĻĨāύে Recursive Factorial āĻĢাংāĻļāύ
āĻāĻāĻেāϰ āĻāĻ āĻŦ্āϞāĻে āĻāĻŽāϰা āĻĒাāĻāĻĨāύেāϰ recursive_factorial
āĻĢাংāĻļāύāĻি āύিāϝ়ে āĻāϞোāĻāύা āĻāϰāĻŦ। āĻĢ্āϝাāĻ্āĻāϰিāϝ়াāϞ āĻšāĻ্āĻে
āĻāĻŽāύ āĻāĻāĻি āĻāĻŖিāϤ āĻ
āĻĒাāϰেāĻļāύ, āϝেāĻাāύে āĻāĻāĻি āϏংāĻ্āϝাāĻে āϤাāϰ āĻেāϝ়ে āĻোāĻ āϏāĻŦ āϧāύাāϤ্āĻŽāĻ āĻĒূāϰ্āĻŖāϏংāĻ্āϝাāϰ āĻুāĻŖāĻĢāϞ āĻšিāϏেāĻŦে āĻĒ্āϰāĻাāĻļ āĻāϰা āĻšāϝ়।
āύিāĻে āĻোāĻĄāĻি āϧাāĻĒে āϧাāĻĒে āĻŦ্āϝাāĻ্āϝা āĻāϰা āĻšāϝ়েāĻে।
āĻোāĻĄāĻি:
def recursive_factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * recursive_factorial(n-1)
print(recursive_factorial(5))
āĻিāĻাāĻŦে āĻোāĻĄāĻি āĻাāĻ āĻāϰāĻে?
āϧাāĻĒ ā§§: āĻŦেāϏ āĻেāϏ (Base Case) āĻেāĻ āĻāϰা
if n == 0 or n == 1:
return 1
āĻāĻাāύে āĻĒ্āϰāĻĨāĻŽ āĻļāϰ্āϤāĻি āĻšāĻ্āĻে āĻŦেāϏ āĻেāϏ। āĻ
āϰ্āĻĨাā§, āϝāĻĻি n
āĻāϰ āĻŽাāύ ā§Ļ āĻŦা ā§§ āĻšāϝ়, āϤাāĻšāϞে āĻĢাংāĻļāύāĻি āϏāϰাāϏāϰি ā§§ āϰিāĻাāϰ্āύ āĻāϰāĻŦে। āĻাāϰāĻŖ, ā§Ļ āĻŦা ā§§ āĻāϰ āĻĢ্āϝাāĻ্āĻāϰিāϝ়াāϞ āϏāϰ্āĻŦāĻĻা ā§§ āĻšāϝ়।
āϧাāĻĒ ā§¨: Recursive āĻāϞ āĻāϰা
āϝāĻāύ n
āĻāϰ āĻŽাāύ ā§Ļ āĻŦা ā§§ āĻāϰ āĻŦেāĻļি āĻšāϝ়, āϤāĻāύ āĻĢাংāĻļāύāĻি else
āĻ
ংāĻļে āϝাāĻŦে āĻāĻŦং āύিāĻেāĻে āĻĒুāύāϰাāϝ় āĻāϞ āĻāϰāĻŦে:
return n * recursive_factorial(n-1)
āĻāĻাāύে recursive_factorial(n-1)
āĻ
ংāĻļāĻি āĻĢাংāĻļāύāĻিāĻে āĻāĻŦাāϰ n-1
āĻŽাāύ āύিāϝ়ে āĻāϞ āĻāϰāĻে। āĻāĻি āĻাāϞু āĻĨাāĻāĻŦে āϝāϤāĻ্āώāĻŖ āύা
n
āĻāϰ āĻŽাāύ ā§§ āĻŦা ā§Ļ āĻšāϝ়ে āϝাāϝ়, āϤāĻāύ āĻŦেāϏ āĻেāϏ āĻ
āύুāϝাāϝ়ী ā§§ āϰিāĻাāϰ্āύ āĻšāĻŦে।
āĻāĻĻাāĻšāϰāĻŖ
āϝāĻĻি āĻāĻŽāϰা recursive_factorial(5)
āĻāϞ āĻāϰি, āϤাāĻšāϞে āύিāĻেāϰ āϧাāĻĒāĻুāϞোāϤে āĻোāĻĄāĻি āĻাāĻ āĻāϰāĻŦে:
5 * recursive_factorial(4)
5 * (4 * recursive_factorial(3))
5 * (4 * (3 * recursive_factorial(2)))
5 * (4 * (3 * (2 * recursive_factorial(1))))
5 * (4 * (3 * (2 * 1)))
- āĻĢāϞাāĻĢāϞ: ā§Ģ * ā§Ē * ā§Š * ⧍ * ā§§ = ⧧⧍ā§Ļ
āĻļেāώ āĻāĻĨা
āĻāĻāĻাāĻŦে āϰিāĻাāϰ্āϏāύ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে āĻāĻŽāϰা āĻāĻāĻি āϏāĻŽāϏ্āϝাāĻে āĻোāĻ āĻোāĻ āϧাāĻĒে āĻাāĻ āĻāϰে āϏāĻŽাāϧাāύ āĻāϰāϤে āĻĒাāϰি। āĻĢ্āϝাāĻ্āĻāϰিāϝ়াāϞেāϰ āĻ্āώেāϤ্āϰে, āĻāĻ āϰিāĻাāϰ্āϏāύ āĻĒāĻĻ্āϧāϤি āĻুāĻŦāĻ āĻাāϰ্āϝāĻāϰী, āĻাāϰāĻŖ āĻāĻি āĻĒ্āϰāϤিāĻি āϧাāĻĒāĻে āĻāĻŽিāϝ়ে āĻāύে āĻāĻŦং āĻ āĻŦāĻļেāώে āĻāĻāĻি āύিāϰ্āĻĻিāώ্āĻ āĻĢāϞাāĻĢāϞ āĻĒ্āϰāĻĻাāύ āĻāϰে।