Зачем это знать? Разве это глобально, вечно, красиво и "просто"? Или, может быть, это как-то связано с вашей работой по специальности? Скажите, вот как часто программисту приходится брать интегралы, исследовать функции и решать тригонометрические уравнения?
Я полагаю что это знать надо, во-первых чтобы были примеры для дальшнейшего изучения более абстрактных разделов и понимания к чему это всё. Во-вторых, имхо, это некоторым образом приучает мыслить нужным образом, доставляет понимание объектов с которыми (или с подобными) далее будет развита та или иная теория. В-третьих, да это действительно вечно, разве не вечно что
![$2^5=32$ $2^5=32$](https://dxdy-02.korotkov.co.uk/f/5/3/0/530094fb4f906534e6b2c9e13552884582.png)
, да это красиво (ну это субъективно), и да это просто, когда с этим в должной мере освоишься (но это про что угодно можно сказать).
В работе программиста, лично мне, конечно мало что пригождается. Но например в домашних проектах, иногда всплывает и тригонометрия и всякое другое. А если углубляться в некоторые области, то там очень даже нужен соответствующий мат. аппарат.
-- 07.02.2018, 12:19 --На счёт 9) кажется понял в чём сложность, завтра додумаю.
Не додумал. Всё стало хуже. Не вижу теперь решения. Пришёл вот к чему.
9)
Имеем набор из 100 шариков
![$S = (a_1, a_2, ..., a_{100})$ $S = (a_1, a_2, ..., a_{100})$](https://dxdy-04.korotkov.co.uk/f/7/1/0/710dc4b8263622f9cd3464445920da8c82.png)
Разобъём
![$S$ $S$](https://dxdy-03.korotkov.co.uk/f/e/2/5/e257acd1ccbe7fcb654708f1a866bfe982.png)
на два набора например так
![$S_1 = (a_1, a_2, ..., a_{50})$ $S_1 = (a_1, a_2, ..., a_{50})$](https://dxdy-04.korotkov.co.uk/f/b/f/1/bf1ed31fcd4afd9839c120a15f93f8bc82.png)
и
![$S_2 = (a_{51}, ..., a_{100})$ $S_2 = (a_{51}, ..., a_{100})$](https://dxdy-01.korotkov.co.uk/f/4/c/9/4c95edec5e1522c6270707440a679a3682.png)
Составим из этих двух наборов
![$S_1$ $S_1$](https://dxdy-03.korotkov.co.uk/f/2/6/4/264fba1c7ab2f0bc1611dac6780708a682.png)
и
![$S_2$ $S_2$](https://dxdy-04.korotkov.co.uk/f/7/6/8/7684afeaf2968f03abc32b7d309d9ff282.png)
один набор пар шариков, где первый элемент пары взят из первого набора, второй из второго, например так
![$P = ([a_1, a_{50}], [a_2, a_{51}], ..., [a_{50}, a_{100}])$ $P = ([a_1, a_{50}], [a_2, a_{51}], ..., [a_{50}, a_{100}])$](https://dxdy-03.korotkov.co.uk/f/a/8/a/a8a8c90ca06ffdc7d273d62eb5431dda82.png)
Далее заметим, что поскольку имеем 50 пар шариков, два из которых титановые, то возможны такие варианты:
1. В одной паре из всех оба шарика титановые.
2. В двух парах из всех по одному титановому шарику.
Откуда ясно, что если протестировать все пары, тестер сработает максимум 2 раза.
Будем тестировать последовательно пары из
![$P$ $P$](https://dxdy-02.korotkov.co.uk/f/d/f/5/df5a289587a2f0247a5b97c1e8ac58ca82.png)
по следующему алогоритму.
1. Полагаем
![$i=1$ $i=1$](https://dxdy-01.korotkov.co.uk/f/0/8/1/081b3265e50f611c00daeffa9193187382.png)
(номер первой пары)
2. Если тестер не срабатывает на паре
![$p_i$ $p_i$](https://dxdy-01.korotkov.co.uk/f/0/d/1/0d19b0a4827a28ecffa01dfedf5f5f2c82.png)
из
![$P$ $P$](https://dxdy-02.korotkov.co.uk/f/d/f/5/df5a289587a2f0247a5b97c1e8ac58ca82.png)
перемещаем пару
![$p_i$ $p_i$](https://dxdy-01.korotkov.co.uk/f/0/d/1/0d19b0a4827a28ecffa01dfedf5f5f2c82.png)
в набор обычных шариков
![$N$ $N$](https://dxdy-04.korotkov.co.uk/f/f/9/c/f9c4988898e7f532b9f826a75014ed3c82.png)
3. Если тестер сработал на паре
![$p_i$ $p_i$](https://dxdy-01.korotkov.co.uk/f/0/d/1/0d19b0a4827a28ecffa01dfedf5f5f2c82.png)
то перемещаем эту пару в набор
![$T$ $T$](https://dxdy-03.korotkov.co.uk/f/2/f/1/2f118ee06d05f3c2d98361d9c30e38ce82.png)
4. Если в наборе
![$T$ $T$](https://dxdy-03.korotkov.co.uk/f/2/f/1/2f118ee06d05f3c2d98361d9c30e38ce82.png)
две пары, то переходим к шагу 7
5. Если
![$i<50$ $i<50$](https://dxdy-04.korotkov.co.uk/f/3/4/0/34005321d7b1e20a9d0c36608103ca0b82.png)
то
![$i:= i + 1$ $i:= i + 1$](https://dxdy-04.korotkov.co.uk/f/7/6/2/7623b956bc00f09a131a4b75a0c40af182.png)
и переходим к шагу 2
6. Если в наборе
![$T$ $T$](https://dxdy-03.korotkov.co.uk/f/2/f/1/2f118ee06d05f3c2d98361d9c30e38ce82.png)
одна пара и
![$i = 50$ $i = 50$](https://dxdy-01.korotkov.co.uk/f/4/3/4/434c9fb4a126978f87fc439a5809004e82.png)
(то есть протестированы все), то отобранная пара в
![$T$ $T$](https://dxdy-03.korotkov.co.uk/f/2/f/1/2f118ee06d05f3c2d98361d9c30e38ce82.png)
и есть пара титановых шариков (конец).
7. На этом шаге в
![$T$ $T$](https://dxdy-03.korotkov.co.uk/f/2/f/1/2f118ee06d05f3c2d98361d9c30e38ce82.png)
две пары.
(Проще говоря действуем так: Проверяем каждую из 50 пар, отбирая те, на которых сработает тестер. Если в итоге, после проверки всех пар, будет отобрана одна - значит эта пара и есть искомые два титановых шара. Если отобраны две пары, то выполним оставшиеся (как минимум) две проверки следующим образом.)
Обозначим найденные пары из
![$T$ $T$](https://dxdy-03.korotkov.co.uk/f/2/f/1/2f118ee06d05f3c2d98361d9c30e38ce82.png)
как
![$(a, b) (c, d)$ $(a, b) (c, d)$](https://dxdy-02.korotkov.co.uk/f/d/c/1/dc119af168c51fbd1e8c235936313a7882.png)
- среди них должны быть два титановых шара, причём один в
![$(a, b)$ $(a, b)$](https://dxdy-04.korotkov.co.uk/f/b/a/9/ba933e77b90dc996befbe81f77f4388782.png)
а другой в
![$(c, d)$ $(c, d)$](https://dxdy-04.korotkov.co.uk/f/7/b/c/7bc7e5f93a650e363dc7006f7495d1f082.png)
Составим таблицу возможных раскладов, с учётом этого условия. Причём титановые шары обозначим через T, обычные через O.
![$$\begin{bmatrix}
a& b & c & d \\
T& O & O & T \\
T& O & T & O \\
O& T & O & T \\
O& T & T & O
\end{bmatrix}$$ $$\begin{bmatrix}
a& b & c & d \\
T& O & O & T \\
T& O & T & O \\
O& T & O & T \\
O& T & T & O
\end{bmatrix}$$](https://dxdy-04.korotkov.co.uk/f/b/0/1/b01ed82e8e285db8b4c6497a346cf73682.png)
(Далее имеет смысл проверять пары
![$(a, c) (a, d) (b, c) (b,d)$ $(a, c) (a, d) (b, c) (b,d)$](https://dxdy-01.korotkov.co.uk/f/0/9/f/09f2472eba38a13aa40cb6d927fbd54d82.png)
Но за две попытки, можно исключить только два варианта - где оба шара обычные.)
Допустим мы проверим
![$(a, c)$ $(a, c)$](https://dxdy-01.korotkov.co.uk/f/4/2/4/424b123d6974594284752f8e42758a9f82.png)
, тогда если тестер сработает, значит вариант c обычными
![$(a, c)$ $(a, c)$](https://dxdy-01.korotkov.co.uk/f/4/2/4/424b123d6974594284752f8e42758a9f82.png)
отбрасывается, и остаётся ещё три. Если тестер не сработает, тогда
![$(b, d)$ $(b, d)$](https://dxdy-04.korotkov.co.uk/f/f/0/7/f074e051d95e09530a9c9c3ccb31e2dc82.png)
является искомой парой титановых шаров.
Допустим что тестер сработал, тогда протестируем
![$(b, c)$ $(b, c)$](https://dxdy-03.korotkov.co.uk/f/6/2/1/621556c784814bd6165abdb340f5b02182.png)
.Если тестер не сработает, тогда
![$(a, d)$ $(a, d)$](https://dxdy-01.korotkov.co.uk/f/8/5/f/85f06c6752fc3c80ad9a4101bcb709d382.png)
есть искомая пара. Если не сработает, то исключается вариант с обычными
![$(a, d)$ $(a, d)$](https://dxdy-01.korotkov.co.uk/f/8/5/f/85f06c6752fc3c80ad9a4101bcb709d382.png)
и остаётся ещё два варианта. Но больше попыток нет.
Рассматривал вариант, не тестировать последнюю пару, оставив три попытки. Но тогда вариантов будет больше и придётся больше тестировать.