Programming with functions (assignment 3) ----------------------------------------- Solve this problem and show the program (compiled and executed) to your demonstrator. There is no need to submit any documentation. --------------------------------------------- Problem Statement: Combinatorial functions are often used in probability theory. Imagine a draw which picks up (randomly) three teams to play in a charity cup, from the the total list of 20 teams in the Premier League. For example, in order to compute the probability of Newcastle Utd, Manchester Utd and Liverpool being picked up we should first compute the number of possible combinations of 3 teams from 20. (The probability is the easily computed as 1 over the number of combinations, because each combination of three teams from 20 is equally probable.) This number of combinations in this case is: 20!/(3!*17!) and as you may expect, it is a fairly large number. In general, the number of combinations of r objects from n objects (r<=n) is n!/(r!*(n-r)!) In the above expressions, ! stands for a factorial symbol. It is defined as follows. For a given positive integer n, n! (pronounced as n-factorial) is equal to the product of all integers preceeding n, including n itself: 1*2* ... *(n-1)*n For example, 0!=1, 1!=1, 2!=1*2=2, 3!=1*2*3=6, 4!=1*2*3*4=24 etc. Write a C++ program which computes the number of combinations of r teams from the total set of n teams (r<=n). The program should enter the values of x and y from the keyboard and display the result on the screen. The program should use a function which computes factorial of n. Note: your may earn extra marks if you provide a function for factorial using RECURSION. Testing: To test you program try the above problem of computing the probability of picking Newcastle Utd, Manchester Utd and Liverpool from the Premier League list!