Table of Contents
Hands-On Probability and Statistics 2: Advanced Techniques and Applications
Hands On: Probability and Statistics -2
Combinations and Permutations
Given an array, you should find the number of combinations and permutations when taken 2
elements at a time without a replacement that can be formed from the array of elements.
Function Description
Function Name: comb_perm()
1. Input:
arr - Numpy array
2. Output:
no_of_comb,no_of_perm : Integer
Sample Input For Custom Testing
4
A
B
C
D
Sample Output
(6, 12)
Explanation
No.of Combinations - 6
No. of Permutations - 12
Solution
from itertools import combinations
from itertools import permutations
import numpy as np
import math
def comb_perm(arr):
#Write your code here
'''
Input: arr : numpy array
Return : no_of_comb,no_of_perm : Integer
'''
n = len(arr)
no_of_comb = len(list(combinations(arr, 2)))
no_of_perm = math.factorial(n) // math.factorial(n-2)
return no_of_comb,no_of_perm
if __name__=='__main__':
array1=[]
n=int(input())
for i in range(n):
array1.append(input())
narray1=np.array(array1)
print(comb_perm(narray1))