I will be using the language C++. Given the problem specification, there are an large variety of solving the problem, ranging from simple addition, to more complicated bit testing and selection. But since the problem isn't exactly high performance or practical, I'll use simple addition. For a recursive function, you need to create a condition that will prevent further recursion, I'll use the condition of multiplying by 0. Also, you need to define what your recursion is. To wit, consider the following math expression f(m,k) = 0 if m = 0, otherwise f(m-1,k) + k If you calculate f(0,k), you'll get 0 which is exactly what 0 * k is. If you calculate f(1,k), you'll get 0 + k, which is exactly what 1 * k is. So here's the function int product(int m, int k) { if (m == 0) return 0; return product(m-1,k) + k; }
There are105 different choices. For 1 appetizer, there are 15 different combinations of entrees and desserts. 1 dessert has 5 entrees you can mix, and since there are 3 desserts, there are 15 choices. It goes the same for every appetizer until there is 7x15. 7Ax15choices equals 105 options. The customer has 105 meal choices.