Merge branch 'ex8' into 'master'
Add exercise 8 See merge request oysteikt/v21-ma0301!2
This commit is contained in:
commit
83bee793a6
|
@ -0,0 +1,272 @@
|
||||||
|
\documentclass[12pt]{article}
|
||||||
|
\usepackage{ntnu}
|
||||||
|
\usepackage{ntnu-math}
|
||||||
|
\usepackage{ntnu-code}
|
||||||
|
|
||||||
|
\author{Øystein Tveit}
|
||||||
|
\title{MA0301 Exercise 8}
|
||||||
|
|
||||||
|
\usepackage{amsthm}
|
||||||
|
\usepackage{mathabx}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\ntnuTitle{}
|
||||||
|
\break{}
|
||||||
|
|
||||||
|
\begin{excs}
|
||||||
|
|
||||||
|
\exc{}
|
||||||
|
\begin{subexcs}
|
||||||
|
\subexc{}
|
||||||
|
Since there is only one president, the possibilities is the sum of candidates
|
||||||
|
\[ 5 + 8 = 13 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
For every candidate from one party there is all the candidates of the other party to be compared to. Therefore the amount of possibilities is
|
||||||
|
\[ 5 \cdot 8 = 13 \]
|
||||||
|
|
||||||
|
\end{subexcs}
|
||||||
|
|
||||||
|
\exc{}
|
||||||
|
\begin{subexcs}
|
||||||
|
\subexc{}
|
||||||
|
To end up with the amount of possibilities, we have to multiply the amounts of components together
|
||||||
|
\[ 4 \cdot 12 \cdot 3 \cdot 2 = 288 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
This reduces the amount of colors from 4 to 1. Therefore the amount of possibilities is
|
||||||
|
\[ 1 \cdot 4 \cdot 3 \cot 2 = 24 \]
|
||||||
|
|
||||||
|
\end{subexcs}
|
||||||
|
|
||||||
|
\exc{}
|
||||||
|
\begin{subexcs}
|
||||||
|
\subexc{}
|
||||||
|
Let one bakery item be either pastry or muffins.
|
||||||
|
\[ (8 + 6) \cdot (4 + 6 + 1 + 1) = 14 \cdot 12 = 168 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
\[ 14 \cdot 4 \cdot 6 \cdot 6 = 2016 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
\[ 8 \cdot 6 \cdot 6 \cdot 1 \cdot 2(14 \cdot 4) = 32256 \]
|
||||||
|
|
||||||
|
\end{subexcs}
|
||||||
|
|
||||||
|
\exc{}
|
||||||
|
|
||||||
|
\[ \nPr{8!}{8!} = \frac{8!}{(8-8)!} = 8! = 40320 \]
|
||||||
|
|
||||||
|
\exc{}
|
||||||
|
\begin{subexcs}
|
||||||
|
\subexc{}
|
||||||
|
\[ \nPr{7}{2} = \frac{7!}{(7-2)!} = \frac{7!}{5!} = 7 \cdot 6 = 42 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
\[ \nPr{8}{4} = \frac{8!}{(8-4)!} = 8 \cdot 7 \cdot 6 \cdot 5 = 1680 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
\[ \nPr{10}{7} = \frac{10!}{(10-7)!} = 10 \cdot 9 \cdot \ldots \cdot 4 = 604800 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
\[ \nPr{12}{3} = \frac{12!}{(12-3)!} = 12 \cdot 11 \cdot 10 = 1320 \]
|
||||||
|
|
||||||
|
\end{subexcs}
|
||||||
|
|
||||||
|
\exc{}
|
||||||
|
\begin{subexcs}
|
||||||
|
\subexc{}
|
||||||
|
\[ \nCr{10}{4} = \frac{10!}{4!(10-4)!} = \frac{10!}{4!6!} = \frac{10 \cdot \cancelto{3}{9} \cdot \cancelto{1}{8} \cdot 7}{1 \cdot \cancel{2} \cdot \cancel{3} \cdot \cancel{4}} = 10 \cdot 3 \cdot 7 = 210 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
\[ \nCr{12}{7} = \frac{12!}{7!5!} = \frac{\cancelto{1}{12} \cdot 11 \cdot \cancelto{1}{10} \cdot 9 \cdot 8}{1 \cdot \cancel{2} \cdot \cancel{3} \cdot \cancel{4} \cdot \cancel{5}} = 11 \cdot 9 \cdot 8 = 792 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
\[ \nCr{14}{12} = \frac{14!}{12!2!} = \frac{14 \cdot 13}{2} = 91 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
\[ \nCr{15}{10} = \frac{15!}{10!5!} = \frac{\cancelto{1}{15} \cdot \cancelto{7}{14} \cdot 13 \cdot \cancelto{3}{12} \cdot 11}{1 \cdot \cancel{2} \cdot \cancel{3} \cdot \cancel{4} \cdot \cancel{5}} = 7 \cdot 13 \cdot 3 \cdot 11 = 3003 \]
|
||||||
|
|
||||||
|
\end{subexcs}
|
||||||
|
|
||||||
|
\exc{}
|
||||||
|
\begin{subexcs}
|
||||||
|
\subexc{}
|
||||||
|
|
||||||
|
If there are no restrictions, the amount of arrangements will be the number of permutations of the books
|
||||||
|
|
||||||
|
\[ \nPr{7}{7} = 7! \]
|
||||||
|
|
||||||
|
In order for the languages to alternate, the 3 books has to be inbetween each of the 4 books
|
||||||
|
|
||||||
|
There are $\nPr{3}{3}$ permutations of the C++ books. For each of those permutations, there are $\nPr{4}{4}$ permutations of the Java books.
|
||||||
|
|
||||||
|
Hence the amount of ways to arrange the books will be
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
\[ \nPr{3,3} \cdot \nPr{4}{4} = 3! \cdot 4! = 144 \]
|
||||||
|
|
||||||
|
Because all the C++ books has to be together, we can think of them like one "block" in the permutations of 5 blocks where four of the blocks are Java books.
|
||||||
|
|
||||||
|
For each of those blocks, there is $\nPr{3}{3}$ arrangements of the C++ books.
|
||||||
|
|
||||||
|
Hence the amount of ways to arrange the books will be
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
\[ \nPr{3}{3} \cdot \nPr{5}{5} = 3! \cdot 5! = 720 \]
|
||||||
|
|
||||||
|
Here, there are just two blocks. Therefore there is only $\nPr{2}{2}$ permutations of the blocks
|
||||||
|
|
||||||
|
For each of those permutations, there are $\nPr{3}{3}$ ways to arrange the C++ books.
|
||||||
|
|
||||||
|
And for each way to arrange the C++ books, there are $\nPr{4}{4}$ ways to arrange the java books.
|
||||||
|
|
||||||
|
Hence the amount of ways to arrange the books will be
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
\[ \nPr{2}{2} \cdot \nPr{3}{3} \cdot \nPr{4}{4} = 288 \]
|
||||||
|
|
||||||
|
\end{subexcs}
|
||||||
|
|
||||||
|
\exc{}
|
||||||
|
\begin{subexcs}
|
||||||
|
\subexc{}
|
||||||
|
Because we don't care if there's a different order that the people were selected, we have to use combinations.
|
||||||
|
|
||||||
|
No restrictions means every combination of 12 in 20 people.
|
||||||
|
|
||||||
|
\[ \nCr{20}{12} = 125970 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
For every combination of six women, we have every combination of six men.
|
||||||
|
\[ \nCr{10}{6} \cdot \nCr{10}{6} = 44100 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
Here we sum together all the combinations where there is an even number of women for every corresponding combination of men.
|
||||||
|
\[ \sum^5_{i=0} \nCr{10}{2i} \cdot \nCr{10}{2(6-i)} = 63090 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
In order for the selection to contain more women than men, the amount of women has to be 7 so that the amount of men is 5.
|
||||||
|
|
||||||
|
Therefore, we sum together all combination products from 7 to 10.
|
||||||
|
\[ \sum^{10}_{i=7} \nCr{10}{i} \cdot \nCr{10}{12-i} = 40935 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
Sum of all combination products from 8 to 10.
|
||||||
|
\[ \sum^{10}_{i=8} \nCr{10}{i} \cdot \nCr{10}{12-i} = 10695 \]
|
||||||
|
|
||||||
|
\end{subexcs}
|
||||||
|
|
||||||
|
\exc{}
|
||||||
|
|
||||||
|
In order to solve this task, we will sum together separate cases \\
|
||||||
|
|
||||||
|
Case i) The number only contains one distinct digit from $\{1, 3, 7, 8\}$
|
||||||
|
|
||||||
|
This would be all the permutations of the digits, that is
|
||||||
|
|
||||||
|
\[ \nPr{4}{4} \] \\
|
||||||
|
|
||||||
|
Case ii) The number contains 2 of the digit $3$ and two distinct digits from $\{1, 7, 8\}$
|
||||||
|
|
||||||
|
Here, we start with all the ways we can form a four digit number including two of the digit $3$.
|
||||||
|
|
||||||
|
Since we don't care what order the $3$s are in, we want the combinations (for example, $x{\color{red}3}{\color{ForestGreen}3}x$ and $x{\color{ForestGreen}3}{\color{red}3}x$ are the same)
|
||||||
|
|
||||||
|
Therefore the amount of ways we can write a four digit number including two of the digit $3$ would be
|
||||||
|
|
||||||
|
\[\nCr{4}{2}\]
|
||||||
|
|
||||||
|
For each of those ways to write the number, there are all the permutations of the remaining digits ways to construct a number (here order does matter since the digits are distinct)
|
||||||
|
|
||||||
|
Hence, the amount of ways we can write this number would be
|
||||||
|
|
||||||
|
\[\nCr{4}{2} \cdot \nPr{3}{3}\] \\
|
||||||
|
|
||||||
|
Case iii) The number contains 2 of the digit $7$ and two distinct digits from $\{1, 3, 8\}$
|
||||||
|
|
||||||
|
This is the same as Case ii, just with $7$s instead of $3s$ \\
|
||||||
|
|
||||||
|
Case iv) The number contains 2 of the digit $3$ and 2 of the digit $7$
|
||||||
|
|
||||||
|
In this case, the amount of combinations would be the same as the amount of the ways we can write a four digit number with two fixed numbers.
|
||||||
|
|
||||||
|
Hence, the amount of ways we can write this number would be
|
||||||
|
|
||||||
|
\[\nCr{4}{2}\]
|
||||||
|
|
||||||
|
In conclusion, the total amount of distinct four digit integers we can make with the digits $1$, $3$, $3$, $7$, $7$, $8$ would be
|
||||||
|
|
||||||
|
\[ \nPr{4}{4} + \nCr{4}{2} \cdot \nPr{3}{3} \cdot 2 + \nCr{4}{2} = 102 \]
|
||||||
|
|
||||||
|
\exc{}
|
||||||
|
|
||||||
|
Here i wrote a program to calculate a modified pascal triangle and print the coefficients of a specific row
|
||||||
|
|
||||||
|
\codeFile{scripts/pascal.py}{python}
|
||||||
|
|
||||||
|
Here are the results:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
a.
|
||||||
|
1 x^12 y^0
|
||||||
|
12 x^11 y^1
|
||||||
|
66 x^10 y^2
|
||||||
|
220 x^9 y^3
|
||||||
|
495 x^8 y^4
|
||||||
|
792 x^7 y^5
|
||||||
|
924 x^6 y^6
|
||||||
|
792 x^5 y^7
|
||||||
|
495 x^4 y^8
|
||||||
|
220 x^3 y^9
|
||||||
|
66 x^2 y^10
|
||||||
|
12 x^1 y^11
|
||||||
|
1 x^0 y^12
|
||||||
|
|
||||||
|
b.
|
||||||
|
1 x^12 y^0
|
||||||
|
24 x^11 y^1
|
||||||
|
264 x^10 y^2
|
||||||
|
1760 x^9 y^3
|
||||||
|
7920 x^8 y^4
|
||||||
|
25344 x^7 y^5
|
||||||
|
59136 x^6 y^6
|
||||||
|
101376 x^5 y^7
|
||||||
|
126720 x^4 y^8
|
||||||
|
112640 x^3 y^9
|
||||||
|
67584 x^2 y^10
|
||||||
|
24576 x^1 y^11
|
||||||
|
4096 x^0 y^12
|
||||||
|
|
||||||
|
c.
|
||||||
|
4096 x^12 y^0
|
||||||
|
-73728 x^11 y^1
|
||||||
|
608256 x^10 y^2
|
||||||
|
-3041280 x^9 y^3
|
||||||
|
10264320 x^8 y^4
|
||||||
|
-24634368 x^7 y^5
|
||||||
|
43110144 x^6 y^6
|
||||||
|
-55427328 x^5 y^7
|
||||||
|
51963120 x^4 y^8
|
||||||
|
-34642080 x^3 y^9
|
||||||
|
15588936 x^2 y^10
|
||||||
|
-4251528 x^1 y^11
|
||||||
|
531441 x^0 y^12
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Which means that the coefficient for $x^9y^3$ for each of the subexercises would be
|
||||||
|
|
||||||
|
\begin{subexcs}
|
||||||
|
\subexc{}
|
||||||
|
\[ 220 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
\[ 17601 \]
|
||||||
|
|
||||||
|
\subexc{}
|
||||||
|
\[ -3041280 \]
|
||||||
|
|
||||||
|
\end{subexcs}
|
||||||
|
|
||||||
|
\end{excs}
|
||||||
|
\end{document}
|
|
@ -0,0 +1,25 @@
|
||||||
|
from itertools import permutations, combinations
|
||||||
|
|
||||||
|
def amountOfBooksWhere(fun):
|
||||||
|
return len([bookOrder for bookOrder in permutations('jjjjccc') if fun(''.join(bookOrder))])
|
||||||
|
|
||||||
|
# a)
|
||||||
|
def no_restriction(books):
|
||||||
|
return True
|
||||||
|
|
||||||
|
# b)
|
||||||
|
def alternating_books(books):
|
||||||
|
return all(books.find(l+l) == -1 for l in set(books))
|
||||||
|
|
||||||
|
# c)
|
||||||
|
def all_cs_are_together(books):
|
||||||
|
return not books.find('ccc') == -1
|
||||||
|
|
||||||
|
# d)
|
||||||
|
def all_cs_js_are_together(books):
|
||||||
|
return not (books.find('ccc') == -1 or books.find('jjjj') == -1)
|
||||||
|
|
||||||
|
print(amountOfBooksWhere(no_restriction))
|
||||||
|
print(amountOfBooksWhere(alternating_books))
|
||||||
|
print(amountOfBooksWhere(all_cs_are_together))
|
||||||
|
print(amountOfBooksWhere(all_cs_js_are_together))
|
|
@ -0,0 +1,38 @@
|
||||||
|
from math import comb
|
||||||
|
|
||||||
|
def pascal(n, left, right):
|
||||||
|
i = 1
|
||||||
|
result = [[left, right]]
|
||||||
|
|
||||||
|
while i < n:
|
||||||
|
prev_row = result[-1]
|
||||||
|
result.append(
|
||||||
|
[left ** (i+1)]
|
||||||
|
+ [comb(i+1, j+1) * (left ** (len(prev_row)-j-1)) * (right ** (j+1)) for j in range(len(prev_row)-1)]
|
||||||
|
+ [right ** (i+1)])
|
||||||
|
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
def pretty_print_pascal(triangle):
|
||||||
|
for i, row in enumerate(triangle):
|
||||||
|
print(f'{i+1}.\t{row}')
|
||||||
|
|
||||||
|
def pretty_print_row(row):
|
||||||
|
for i, coefficient in enumerate(row):
|
||||||
|
print(f'{coefficient}\tx^{len(row)-i-1}\ty^{i}')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
|
||||||
|
print('a. ')
|
||||||
|
pretty_print_row(pascal(12, 1, 1)[-1])
|
||||||
|
print()
|
||||||
|
|
||||||
|
print('b. ')
|
||||||
|
pretty_print_row(pascal(12, 1, 2)[-1])
|
||||||
|
print()
|
||||||
|
|
||||||
|
print('c. ')
|
||||||
|
pretty_print_row(pascal(12, 2, -3)[-1])
|
Loading…
Reference in New Issue