This problem gave me a great deal of trouble when I first encountered it. I figured out quickly enough that the answer to the maximum case was to make the largest team possible while putting as many participants in groups of size 1 to fulfill the requirement of having m groups. I also figured out that the solution for the minimum case was to put students in as "uniform" of groups as possible. It was figuring out how to put participants in these uniform groups which was the challenge!
In hindsight, my main difficulty was that I was lacking the interpretation of n % m necessary for this problem. The interpretation of n % m that has worked for me 99% of the time for me was to view the quantity n % m as the number r such that n = k*m + r, where 0 <= r < m. Intuitively, this can be thought of as repeatedly summing m until it gets within m units of n and then calling the remainder r. Another way to view this procedure is that we are making as many groups of size m out of n as we possibly can. Unfortunately this problem calls for making exactly m groups, which are almost certainly not of size m.
As a review, the quantity n / m expresses the answer to each of the two questions:
- we have n pieces and want to split them into groups of size m. how many groups are there?
- we have n pieces and want to split them into m groups. how many are in each group?
Since % and / are intimately related, % also can be interpreted in both of these ways. To illustrate the first interpretation of %, consider the example 8 % 3. We can arrive at the answer using the following procedure:
(3 + 3) + 2 = 8.
Hence 8 % 3 = 2. This works when 8 % 3 as the number of pieces left over after making groups of size three. However, if we want to use the interpretation of making 3 groups, we need to do a little bit more work. In order to illustrate this perspective, notice the following illustration of 8 / 3:
2.67 2.67 2.67
That is, to make 3 groups out of 8 pieces we need 2.67 pieces in each group. But notice the following manipulation:
2.67 2.67 2.67 = (2 + 2 + 2) + (.67 + .67 + .67) = (2 + 2 + 2) + 2.
Recall that 8 % 3 = 2. And notice with this alternate procedure we also arrived at a value of 2. This is not a coincidence! Instead of making as many groups of size 3 that would get us up to 8 and computing the remainder, we made 3 groups of size 2 and computed the remainder and wound up with the same answer.
In the general case, if we have n % m, we can compute it in the following way:
floor(n/m) floor(n/m) ... floor(n/m) + n % m