#set document(title: "2.3 Combinations and Permutations", author: "OpenStax / XYZ Homework") #set page(width: 8.5in, height: auto, margin: 1in) #import "@preview/cetz:0.5.2" #set text(font: ("STIX Two Text", "Libertinus Serif", "New Computer Modern"), size: 10.5pt, lang: "en") #show math.equation: set text(font: ("STIX Two Math", "New Computer Modern Math")) #set par(justify: true, leading: 0.62em, spacing: 0.9em) #set enum(spacing: 1.1em) // room between list items so tall inline fractions don't collide #set list(spacing: 1.1em) #set table(stroke: 0.5pt + rgb("#c7ccd3")) #let BLUE = rgb("#183B6F") // brand navy — section bars + example/solution labels (white on navy 11.09:1) #let ORANGE = rgb("#A94509") // brand primary-700 — AA-safe deep orange for TEXT (5.93:1 on white; raw brand #F37021 is 2.94:1 and must never carry text) #let RED = rgb("#DC2626") // brand error-600 #let GREEN = rgb("#059669") // brand success-600 (decoration only; small green text uses green-text #007942) #show heading.where(level: 1): it => block(width: 100%, above: 0pt, below: 16pt, fill: gradient.linear(BLUE, rgb("#2C5AA0")), inset: (x: 14pt, y: 12pt), radius: 3pt, text(fill: white, weight: "bold", size: 19pt, it.body)) #show heading.where(level: 2): it => block(width: 100%, above: 18pt, below: 10pt, fill: BLUE, inset: (x: 10pt, y: 6pt), radius: 2pt, text(fill: white, weight: "bold", size: 12pt, it.body)) #show heading.where(level: 3): it => text(fill: ORANGE, weight: "bold", size: 12.5pt, it.body) #show heading.where(level: 4): it => text(fill: BLUE, weight: "bold", size: 10.5pt, it.body) #let examplebox(label, title, body) = block(width: 100%, breakable: true, fill: rgb("#EFF1F5"), stroke: 0.5pt + rgb("#CFDDF0"), radius: 4pt, inset: 10pt, above: 12pt, below: 12pt)[ #block(below: 6pt)[#box(fill: BLUE, inset: (x: 6pt, y: 2pt), radius: 2pt, text(fill: white, weight: "bold", size: 8.5pt, label)) #h(0.4em) #strong[#title]] #body] // rail = decorative left rule (raw brand token); labelcolor = AA-safe label text shade #let notebox(label, rail, labelcolor, tint, body) = block(width: 100%, breakable: true, fill: tint, stroke: (left: 3pt + rail), inset: (left: 10pt, rest: 8pt), radius: (right: 4pt), above: 11pt, below: 11pt)[ #text(fill: labelcolor, weight: "bold", size: 7.5pt, tracking: 0.5pt)[#upper(label)] #linebreak() #body] #let solutionbox(body) = block(above: 4pt, below: 8pt)[ #text(fill: BLUE, weight: "bold", size: 8.5pt)[Solution] #linebreak() #body] #let figph(msg) = block(width: 100%, height: 60pt, fill: rgb("#f6f7f9"), stroke: (paint: rgb("#c7ccd3"), dash: "dashed"), radius: 4pt, inset: 10pt)[ #align(center + horizon, text(fill: rgb("#889"), style: "italic", size: 9pt, msg))] // Standardize inlined figure sizes: measure the natural CeTZ canvas, then scale to a // consistent envelope (aspect-aware; see build_typst.py FIG_* constants). Unlike the // print preamble, dimensions are FLOORED: in an editor a user can trim a figure to a // degenerate 1-D shape (a bare line), and w/h or tw/w would then divide by zero. #let _STD_W = 3.5 #let _WIDE_W = 5.6 #let _MAX_H = 3.4 #let _ASPECT_WIDE = 2.2 #let _UPSCALE_MAX = 1.15 #let stdfig(body) = context { let m = measure(body) let w = calc.max(m.width / 1in, 0.01) let h = calc.max(m.height / 1in, 0.01) let tw = if w / h > _ASPECT_WIDE { _WIDE_W } else { _STD_W } let s = calc.min(tw / w, _MAX_H / h, _UPSCALE_MAX) align(center, box(scale(x: s * 100%, y: s * 100%, reflow: true, body))) } #show figure: set block(breakable: false) #set figure(gap: 8pt) #show figure.caption: set text(size: 8.5pt, fill: rgb("#555")) == 2.3#h(0.6em)Combinations and Permutations #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ You have a bunch of chips which come in five different colors: red, blue, green, purple and yellow. + How many different two-chip stacks can you make if the bottom chip must be red or blue? Explain your answer using both the additive and multiplicative principles. + How many different three-chip stacks can you make if the bottom chip must be red or blue and the top chip must be green, purple or yellow? How does this problem relate to the previous one? + How many different three-chip stacks are there in which no color is repeated? What about four-chip stacks? + Suppose you wanted to take three different colored chips and put them in your pocket. How many different choices do you have? What if you wanted four different colored chips? How do these problems relate to the previous one? ] A #strong[permutation] is a (possible) rearrangement of objects. For example, there are 6 permutations of the letters #emph[a, b, c]: #math.equation(block: true, alt: "a b c , a c b , b a c , b c a , c a b , c b a")[$a b c , " " " " a c b , " " " " b a c , " " " " b c a , " " " " c a b , " " " " c b a$] . We know that we have them all listed above —there are 3 choices for which letter we put first, then 2 choices for which letter comes next, which leaves only 1 choice for the last letter. The multiplicative principle says we multiply #math.equation(block: false, alt: "3 times 2 times 1")[$3 ⋅ 2 ⋅ 1$]. #examplebox("Example 1")[][ How many permutations are there of the letters #emph[a, b, c, d, e, f]? #solutionbox[ We do NOT want to try to list all of these out. However, if we did, we would need to pick a letter to write down first. There are 6 choices for that letter. For each choice of first letter, there are 5 choices for the second letter (we cannot repeat the first letter; we are rearranging letters and only have one of each), and for each of those, there are 4 choices for the third, 3 choices for the fourth, 2 choices for the fifth and finally only 1 choice for the last letter. So there are #math.equation(block: false, alt: "6 times 5 times 4 times 3 times 2 times 1 equals 720")[$6 ⋅ 5 ⋅ 4 ⋅ 3 ⋅ 2 ⋅ 1 = 720$] permutations of the 6 letters. ] ] A piece of notation is helpful here: #math.equation(block: false, alt: "n !")[$n !$], read “#math.equation(block: false, alt: "n")[$n$] factorial”, is the product of all positive integers less than or equal to #math.equation(block: false, alt: "n")[$n$] (for reasons of convenience, we also define 0! to be 1). So the number of permutation of 6 letters, as seen in the previous example is #math.equation(block: false, alt: "6 ! equals 6 times 5 times 4 times 3 times 2 times 1")[$6 ! = 6 ⋅ 5 ⋅ 4 ⋅ 3 ⋅ 2 ⋅ 1$]. This generalizes: #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ #emph[Permutations of #math.equation(block: false, alt: "n")[$n$] elements] There are #math.equation(block: false, alt: "n ! equals n times open parenthesis n minus 1 close parenthesis times open parenthesis n minus 2 close parenthesis times ⋯ times 2 times 1")[$n ! = n ⋅ ( n − 1 ) ⋅ ( n − 2 ) ⋅ ⋯ ⋅ 2 ⋅ 1$] permutations of #math.equation(block: false, alt: "n")[$n$] (distinct) elements. ] #examplebox("Example 2")[Counting Bijective Functions][ How many functions #math.equation(block: false, alt: "f : open brace 1 , 2 , and so on , 8 close brace → open brace 1 , 2 , and so on , 8 close brace")[$f : \{ 1 , 2 , … , 8 \} → \{ 1 , 2 , … , 8 \}$] are #emph[bijective]? #solutionbox[ Remember what it means for a function to be bijective: each element in the codomain must be the image of exactly one element of the domain. Using two-line notation, we could write one of these bijections as #math.equation(block: true, alt: "f equals open parenthesis 1, 2, 3, 4, 5, 6, 7, 8; 3, 1, 5, 8, 7, 6, 2, 4 close parenthesis")[$f = ( 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \ 3 & 1 & 5 & 8 & 7 & 6 & 2 & 4 )$] . What we are really doing is just rearranging the elements of the codomain, so we are creating a permutation of 8 elements. In fact, “permutation” is another term used to describe bijective functions from a finite set to itself. If you believe this, then you see the answer must be #math.equation(block: false, alt: "8 ! equals 8 times 7 times ⋯ times 1 equals 40320")[$8 ! = 8 ⋅ 7 ⋅ ⋯ ⋅ 1 = 40320$]. You can see this directly as well: for each element of the domain, we must pick a distinct element of the codomain to map to. There are 8 choices for where to send 1, then 7 choices for where to send 2, and so on. We multiply using the multiplicative principle. ] ] Sometimes we do not want to permute all of the letters/numbers/elements we are given. #examplebox("Example 3")[][ How many 4 letter “words” can you make from the letters #emph[a] through #emph[f], with no repeated letters? #solutionbox[ This is just like the problem of permuting 4 letters, only now we have more choices for each letter. For the first letter, there are 6 choices. For each of those, there are 5 choices for the second letter. Then there are 4 choices for the third letter, and 3 choices for the last letter. The total number of words is #math.equation(block: false, alt: "6 times 5 times 4 times 3 equals 360")[$6 ⋅ 5 ⋅ 4 ⋅ 3 = 360$]. This is not #math.equation(block: false, alt: "6 !")[$6 !$] because we never multiplied by 2 and 1. We could start with #math.equation(block: false, alt: "6 !")[$6 !$] and then cancel the 2 and 1, and thus write #math.equation(block: false, alt: "the fraction 6 ! over 2 !")[$frac(6 !, 2 !)$]. ] ] In general, we can ask how many permutations exist of #math.equation(block: false, alt: "k")[$k$] objects choosing those objects from a larger collection of #math.equation(block: false, alt: "n")[$n$] objects. (In the example above, #math.equation(block: false, alt: "k equals 4")[$k = 4$], and #math.equation(block: false, alt: "n equals 6")[$n = 6$].) We write this number #math.equation(block: false, alt: "P open parenthesis n , k close parenthesis")[$P ( n , k )$] and sometimes call it a #strong[#math.equation(block: false, alt: "k")[$k$]-permutation of #math.equation(block: false, alt: "n")[$n$] elements]. From the example above, we see that to compute #math.equation(block: false, alt: "P open parenthesis n , k close parenthesis")[$P ( n , k )$] we must apply the multiplicative principle to #math.equation(block: false, alt: "k")[$k$] numbers, starting with #math.equation(block: false, alt: "n")[$n$] and counting backwards. For example #math.equation(block: true, alt: "P open parenthesis 10 , 4 close parenthesis equals 10 times 9 times 8 times 7")[$P ( 10 , 4 ) = 10 ⋅ 9 ⋅ 8 ⋅ 7$] . Notice again that #math.equation(block: false, alt: "P open parenthesis 10 , 4 close parenthesis")[$P ( 10 , 4 )$] starts out looking like #math.equation(block: false, alt: "10 !")[$10 !$], but we stop after 7. We can formally account for this “stopping” by dividing away the part of the factorial we do not want: #math.equation(block: true, alt: "P open parenthesis 10 , 4 close parenthesis equals the fraction 10 times 9 times 8 times 7 times 6 times 5 times 4 times 3 times 2 times 1 over 6 times 5 times 4 times 3 times 2 times 1 equals the fraction 10 ! over 6 !")[$P ( 10 , 4 ) = frac(10 ⋅ 9 ⋅ 8 ⋅ 7 ⋅ 6 ⋅ 5 ⋅ 4 ⋅ 3 ⋅ 2 ⋅ 1, 6 ⋅ 5 ⋅ 4 ⋅ 3 ⋅ 2 ⋅ 1) = frac(10 !, 6 !)$] . Careful: The factorial in the denominator is not #math.equation(block: false, alt: "4 !")[$4 !$] but rather #math.equation(block: false, alt: "open parenthesis 10 minus 4 close parenthesis !")[$( 10 − 4 ) !$]. #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ #emph[#math.equation(block: false, alt: "k")[$k$]-permutations of #math.equation(block: false, alt: "n")[$n$] elements] #math.equation(block: false, alt: "P open parenthesis n , k close parenthesis")[$P ( n , k )$] is the number of #strong[#math.equation(block: false, alt: "k")[$k$]-permutations of #math.equation(block: false, alt: "n")[$n$] elements], the number of ways to #emph[arrange] #math.equation(block: false, alt: "k")[$k$] objects chosen from #math.equation(block: false, alt: "n")[$n$] distinct objects. #math.equation(block: true, alt: "P open parenthesis n , k close parenthesis equals the fraction n ! over open parenthesis n minus k close parenthesis ! equals n open parenthesis n minus 1 close parenthesis open parenthesis n minus 2 close parenthesis ⋯ open parenthesis n minus open parenthesis k minus 1 close parenthesis close parenthesis")[$P ( n , k ) = frac(n !, ( n − k ) !) = n ( n − 1 ) ( n − 2 ) ⋯ ( n − ( k − 1 ) )$] . ] Note that when #math.equation(block: false, alt: "n equals k")[$n = k$], we have #math.equation(block: false, alt: "P open parenthesis n , n close parenthesis equals the fraction n ! over open parenthesis n minus n close parenthesis ! equals n !")[$P ( n , n ) = frac(n !, ( n − n ) !) = n !$] (since we defined #math.equation(block: false, alt: "0 !")[$0 !$] to be 1). This makes sense —we already know #math.equation(block: false, alt: "n !")[$n !$] gives the number of permutations of all #math.equation(block: false, alt: "n")[$n$] objects. #examplebox("Example 4")[Counting injective functions][ How many functions #math.equation(block: false, alt: "f : open brace 1 , 2 , 3 close brace → open brace 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 close brace")[$f : \{ 1 , 2 , 3 \} → \{ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 \}$] are #emph[injective]? #solutionbox[ Note that it doesn't make sense to ask for the number of #emph[bijections] here, as there are none (because the codomain is larger than the domain, there are no surjections). But for a function to be injective, we just can't use an element of the codomain more than once. We need to pick an element from the codomain to be the image of 1. There are 8 choices. Then we need to pick one of the remaining 7 elements to be the image of 2. Finally, one of the remaining 6 elements must be the image of 3. So the total number of functions is #math.equation(block: false, alt: "8 times 7 times 6 equals P open parenthesis 8 , 3 close parenthesis")[$8 ⋅ 7 ⋅ 6 = P ( 8 , 3 )$]. What this demonstrates in general is that the number of injections #math.equation(block: false, alt: "f : A → B")[$f : A → B$], where #math.equation(block: false, alt: "vertical bar A vertical bar equals k")[$| A | = k$] and #math.equation(block: false, alt: "vertical bar B vertical bar equals n")[$| B | = n$], is #math.equation(block: false, alt: "P open parenthesis n , k close parenthesis")[$P ( n , k )$]. ] ] Here is another way to find the number of #math.equation(block: false, alt: "k")[$k$]-permutations of #math.equation(block: false, alt: "n")[$n$] elements: first select which #math.equation(block: false, alt: "k")[$k$] elements will be in the permutation, then count how many ways there are to arrange them. Once you have selected the #math.equation(block: false, alt: "k")[$k$] objects, we know there are #math.equation(block: false, alt: "k !")[$k !$] ways to arrange (permute) them. But how do you select #math.equation(block: false, alt: "k")[$k$] objects from the #math.equation(block: false, alt: "n")[$n$]? You have #math.equation(block: false, alt: "n")[$n$] objects, and you need to #emph[choose] #math.equation(block: false, alt: "k")[$k$] of them. You can do that in #math.equation(block: false, alt: "open parenthesis the fraction n over k close parenthesis")[$( binom(n, k) )$] ways. Then for each choice of those #math.equation(block: false, alt: "k")[$k$] elements, we can permute #emph[them] in #math.equation(block: false, alt: "k !")[$k !$] ways. Using the multiplicative principle, we get another formula for #math.equation(block: false, alt: "P open parenthesis n , k close parenthesis")[$P ( n , k )$]: #math.equation(block: true, alt: "P open parenthesis n , k close parenthesis equals open parenthesis the fraction n over k close parenthesis times k !")[$P ( n , k ) = ( binom(n, k) ) ⋅ k !$] . Now since we have a closed formula for #math.equation(block: false, alt: "P open parenthesis n , k close parenthesis")[$P ( n , k )$] already, we can substitute that in: #math.equation(block: true, alt: "the fraction n ! over open parenthesis n minus k close parenthesis ! equals open parenthesis the fraction n over k close parenthesis times k !")[$frac(n !, ( n − k ) !) = ( binom(n, k) ) ⋅ k !$] . If we divide both sides by #math.equation(block: false, alt: "k !")[$k !$] we get a closed formula for #math.equation(block: false, alt: "open parenthesis the fraction n over k close parenthesis")[$( binom(n, k) )$]. #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ #emph[Closed formula for #math.equation(block: false, alt: "open parenthesis the fraction n over k close parenthesis")[$( binom(n, k) )$]] #math.equation(block: true, alt: "open parenthesis the fraction n over k close parenthesis equals the fraction n ! over open parenthesis n minus k close parenthesis ! k ! equals the fraction n open parenthesis n minus 1 close parenthesis open parenthesis n minus 2 close parenthesis ⋯ open parenthesis n minus open parenthesis k minus 1 close parenthesis close parenthesis over k open parenthesis k minus 1 close parenthesis open parenthesis k minus 2 close parenthesis ⋯ 1")[$( binom(n, k) ) = frac(n !, ( n − k ) ! k !) = frac(n ( n − 1 ) ( n − 2 ) ⋯ ( n − ( k − 1 ) ), k ( k − 1 ) ( k − 2 ) ⋯ 1)$] . ] We say #math.equation(block: false, alt: "P open parenthesis n , k close parenthesis")[$P ( n , k )$] counts #emph[permutations], and #math.equation(block: false, alt: "open parenthesis the fraction n over k close parenthesis")[$( binom(n, k) )$] counts #emph[combinations]. The formulas for each are very similar, there is just an extra #math.equation(block: false, alt: "k !")[$k !$] in the denominator of #math.equation(block: false, alt: "open parenthesis the fraction n over k close parenthesis")[$( binom(n, k) )$]. That extra #math.equation(block: false, alt: "k !")[$k !$] accounts for the fact that #math.equation(block: false, alt: "open parenthesis the fraction n over k close parenthesis")[$( binom(n, k) )$] does not distinguish between the different orders that the #math.equation(block: false, alt: "k")[$k$] objects can appear in. We are just selecting (or choosing) the #math.equation(block: false, alt: "k")[$k$] objects, not arranging them. Perhaps “combination” is a misleading label. We don't mean it like a combination lock (where the order would definitely matter). Perhaps a better metaphor is a combination of flavors — you just need to decide which flavors to combine, not the order in which to combine them. To further illustrate the connection between combinations and permutations, we close with an example. #examplebox("Example 5")[][ You decide to have a dinner party. Even though you are incredibly popular and have 14 different friends, you only have enough chairs to invite 6 of them. + How many choices do you have for which 6 friends to invite? + What if you need to decide not only which friends to invite but also where to seat them along your long table? How many choices do you have then? #solutionbox[ + You must simply choose 6 friends from a group of 14. This can be done in #math.equation(block: false, alt: "open parenthesis the fraction 14 over 6 close parenthesis")[$( binom(14, 6) )$] ways. We can find this number either by using Pascal's triangle or the closed formula: #math.equation(block: false, alt: "the fraction 14 ! over 8 ! times 6 ! equals 3003")[$frac(14 !, 8 ! ⋅ 6 !) = 3003$]. + Here you must count all the ways you can permute 6 friends chosen from a group of 14. So the answer is #math.equation(block: false, alt: "P open parenthesis 14 , 6 close parenthesis")[$P ( 14 , 6 )$], which can be calculated as #math.equation(block: false, alt: "the fraction 14 ! over 8 ! equals 2162160")[$frac(14 !, 8 !) = 2162160$]. #linebreak() Notice that we can think of this counting problem as a question about counting functions: how many injective functions are there from your set of 6 chairs to your set of 14 friends (the functions are injective because you can't have a single chair go to two of your friends). How are these numbers related? Notice that #math.equation(block: false, alt: "P open parenthesis 14 , 6 close parenthesis")[$P ( 14 , 6 )$] is #emph[much] larger than #math.equation(block: false, alt: "open parenthesis the fraction 14 over 6 close parenthesis")[$( binom(14, 6) )$]. This makes sense. #math.equation(block: false, alt: "open parenthesis the fraction 14 over 6 close parenthesis")[$( binom(14, 6) )$] picks 6 friends, but #math.equation(block: false, alt: "P open parenthesis 14 , 6 close parenthesis")[$P ( 14 , 6 )$] arranges the 6 friends as well as picks them. In fact, we can say exactly how much larger #math.equation(block: false, alt: "P open parenthesis 14 , 6 close parenthesis")[$P ( 14 , 6 )$] is. In both counting problems we choose 6 out of 14 friends. For the first one, we stop there, at 3003 ways. But for the second counting problem, each of those 3003 choices of 6 friends can be arranged in exactly #math.equation(block: false, alt: "6 !")[$6 !$] ways. So now we have #math.equation(block: false, alt: "3003 times 6 !")[$3003 ⋅ 6 !$] choices and that is exactly #math.equation(block: false, alt: "2162160")[$2162160$]. Alternatively, look at the first problem another way. We want to select 6 out of 14 friends, but we do not care about the order they are selected in. To select 6 out of 14 friends, we might try this: #math.equation(block: true, alt: "14 times 13 times 12 times 11 times 10 times 9")[$14 ⋅ 13 ⋅ 12 ⋅ 11 ⋅ 10 ⋅ 9$] . This is a reasonable guess, since we have 14 choices for the first guest, then 13 for the second, and so on. But the guess is wrong (in fact, that product is exactly #math.equation(block: false, alt: "2162160 equals P open parenthesis 14 , 6 close parenthesis")[$2162160 = P ( 14 , 6 )$]). It distinguishes between the different orders in which we could invite the guests. To correct for this, we could divide by the number of different arrangements of the 6 guests (so that all of these would count as just one outcome). There are precisely #math.equation(block: false, alt: "6 !")[$6 !$] ways to arrange 6 guests, so the correct answer to the first question is #math.equation(block: true, alt: "the fraction 14 times 13 times 12 times 11 times 10 times 9 over 6 !")[$frac(14 ⋅ 13 ⋅ 12 ⋅ 11 ⋅ 10 ⋅ 9, 6 !)$] . Note that another way to write this is #math.equation(block: true, alt: "the fraction 14 ! over 8 ! times 6 !")[$frac(14 !, 8 ! ⋅ 6 !)$] . which is what we had originally. ] ] How many triangles are there with vertices from the points shown below? Note, we are not allowing degenerate triangles - ones with all three vertices on the same line, but we do allow non-right triangles. Explain why your answer is correct. #figure(figph[Five equally spaced dots in a vertical line and six additional equally spaced dots extending to the right in a horizontal line from the lowest dot (forming a right angle).], alt: "Five equally spaced dots in a vertical line and six additional equally spaced dots extending to the right in a horizontal line from the lowest dot (forming a right angle).", caption: none) If you pick any three points, you can get a triangle, unless those three points are all on the #math.equation(block: false, alt: "x")[$x$]-axis or on the #math.equation(block: false, alt: "y")[$y$]-axis. There are other ways to start this as well, and any correct method should give the same answer. #solutionbox[ 120. ] We have seen that the formula for #math.equation(block: false, alt: "P open parenthesis n , k close parenthesis")[$P ( n , k )$] is #math.equation(block: false, alt: "the fraction n ! over open parenthesis n minus k close parenthesis !")[$display(frac(n !, ( n − k ) !))$]. Your task here is to explain #emph[why] this is the right formula. + Suppose you have 12 chips, each a different color. How many different stacks of 5 chips can you make? Explain your answer and why it is the same as using the formula for #math.equation(block: false, alt: "P open parenthesis 12 , 5 close parenthesis")[$P ( 12 , 5 )$]. + Using the scenario of the 12 chips again, what does #math.equation(block: false, alt: "12 !")[$12 !$] count? What does #math.equation(block: false, alt: "7 !")[$7 !$] count? Explain. + Explain why it makes sense to divide #math.equation(block: false, alt: "12 !")[$12 !$] by #math.equation(block: false, alt: "7 !")[$7 !$] when computing #math.equation(block: false, alt: "P open parenthesis 12 , 5 close parenthesis")[$P ( 12 , 5 )$] (in terms of the chips). + Does your explanation work for numbers other than 12 and 5? Explain the formula #math.equation(block: false, alt: "P open parenthesis n , k close parenthesis equals the fraction n ! over open parenthesis n minus k close parenthesis !")[$P ( n , k ) = frac(n !, ( n − k ) !)$] using the variables #math.equation(block: false, alt: "n")[$n$] and #math.equation(block: false, alt: "k")[$k$].