This Python code example calculates the combination and permutation of two user-provided integers, n and r. It defines a recursive function, fact, to compute the factorial of a given number.
def fact(val):
# Base case: If val is 0 or 1, return 1 as the factorial of 0 and 1 is 1
if val == 0 or val == 1:
return 1
else:
# Recursive case: Return val multiplied by the factorial of val-1
return val * fact(val - 1)
# Prompt the user to enter the value of n and convert it to an integer
n = int(input("Enter value of n : "))
# Prompt the user to enter the value of r and convert it to an integer
r = int(input("Enter value of r : "))
# Calculate the combination using the formula nCr = n! / (r!(n-r)!)
combination = int(fact(n) / (fact(r) * fact(n - r)))
# Calculate the permutation using the formula nPr = n! / (n-r)!
permutation = int(fact(n) / fact(n - r))
# Print the calculated combination value
print("\nCombination : " + str(combination))
# Print the calculated permutation value
print("Permutation : " + str(permutation))
Enter value of n : 4
Enter value of r : 3
Combination : 4
Permutation : 24
def fact(val):
if val == 0 or val == 1:
return 1
else:
return val * fact(val - 1)
def fact(val): defines a function named fact that takes a single argument val.if val == 0 or val == 1: return 1 checks if val is 0 or 1. If true, it returns 1 because the factorial of 0 or 1 is 1.else: return val * fact(val - 1) computes the factorial of val by multiplying val by the factorial of val - 1. This is a recursive call where the function calls itself with a decremented value of val.n = int(input("Enter value of n : "))
r = int(input("Enter value of r : "))
n: n = int(input("Enter value of n : ")) prompts the user to enter a value for n, converts the input to an integer, and assigns it to the variable n.r: r = int(input("Enter value of r : ")) prompts the user to enter a value for r, converts the input to an integer, and assigns it to the variable r.combination = int(fact(n) / (fact(r) * fact(n - r)))
permutation = int(fact(n) / fact(n - r))
fact(n): Computes the factorial of n.fact(r): Computes the factorial of r.fact(n - r): Computes the factorial of n - r.fact(n) / (fact(r) * fact(n - r)): Computes the combination formula (ππ)=π!π!(πβπ)!(rnβ)=r!(nβr)!n!β.int(...): Converts the result to an integer and assigns it to the variable combination.fact(n): Computes the factorial of n.fact(n - r): Computes the factorial of n - r.fact(n) / fact(n - r): Computes the permutation formula π(π,π)=π!(πβπ)!P(n,r)=(nβr)!n!β.int(...): Converts the result to an integer and assigns it to the variable permutation.print("\nCombination : " + str(combination))
print("Permutation : " + str(permutation))
print("\nCombination : " + str(combination)) prints the string “Combination :” followed by the value of combination.print("Permutation : " + str(permutation)) prints the string “Permutation :” followed by the value of permutation.