# python program to print all subset combination of n element in given set of r element . #arr[] ---> Input Array #data[] ---> Temporary array to store current combination # start & end ---> Staring and Ending indexes in arr[] # index ---> Current index in data[] #r ---> Size of a combination to be printed def combinationUtil(arr,n,r,index,data,i): #Current combination is ready to be printed, # print it if(index == r): for j in range(r): print(data[j],end =" ") print(" ") return # When no more elements are there to put in data[] if(i >= n): return #current is included, put next at next # location data[index] = arr[i] combinationUtil(arr,n,r,index+1,data,i+1) # current is excluded, replace it with # next (Note that i+1 is passed, but # index is not changed) combinationUtil(arr,n,r,index,data,i+1) # The main function that prints all combinations #of size r in arr[] of size n. This function #mainly uses combinationUtil() def printcombination(arr,n,r): # A temporary array to store all combination # one by one data = [0]*r #Print all combination using temprary #array 'data[]' combinationUtil(arr,n,r,0,data,0) # Driver function to check for above function arr = [10,20,30,40,50] printcombination(arr,len(arr),3) #This code is contributed by Ambuj sahu