Кольцo

Latest posts by Илья Черноморец (see all)


Заданы площадь кольца и радиус внешней окружности. Определить радиус внутренней окружности. Continue reading

КМ 29. Монеты

Герман Веранян
Герман Веранян

Latest posts by Герман Веранян (see all)

Задача

Задача из журнала «Квант» №6 1970 г. стр. 28 В.И.Арнольд

[latex]n[/latex] одинаковых монет лежат на столе, образую замкнутую цепочку. Сколько оборотов сделает монета [latex]M[/latex] такого же размера за то время, пока она один раз обкатится по внешней стороне всей цепочки, как показано на рисунке (монета [latex]M[/latex] =2 коп.)?
Как изменится ответ, если монета [latex]M[/latex] будет иметь радиус, отличающийся в [latex]k[/latex] раз от радиуса каждой из монет в цепочке?

Условие
Представлю вам предложенное для данной задачи изображение из самого журнала.

Тесты

Входные данные Выходные данные
 № [latex]n[/latex] [latex]k[/latex]  Количество оборотов
 1  3  1  3
 2  12  1  6
 3  182  1  62.667
4  12  2.22 3.19998
 5  145  2.28101  22
 6  8  0.53884  8

 

Код.

 

Решение.

Примем радиус монет, составляющих цепочку, за единицу. За то время, пока монета радиуса [latex]k[/latex] прокатится по дуге [latex]\alpha[/latex] неподвижной окружности радиуса 1, она повернется на угол [latex]\alpha(1+1/k)[/latex] следовательно весь угол на который повернётся монета, равен [latex]\alpha+\alpha/k[/latex](в частности, при [latex]k[/latex]=1 этот угол равен 2[latex]\alpha[/latex]).
Теперь найдем сумму дуг,состоящих из таких точек неподвижных монет, которых монета [latex]M[/latex] касалась при качении по цепочке. Если принять центры монет цепочки за точки [latex]O_1[/latex], [latex]O_2[/latex], … , [latex]O_n[/latex], то сумма дуг, лежащих внутри многоугольника [latex]O_1[/latex][latex]O_2[/latex]…[latex]O_n[/latex], равна сумме его внутренних углов, то есть [latex]\pi(n-2)[/latex]. Сумма дуг, лежащих вне многоугольника, следовательно, равна [latex]\pi(n+2)[/latex].Из неё нужно вычесть ещё сумму дуг лежащих в углублениях между двумя соседними монетами, в которые [latex]M[/latex] не попадает. В каждом из [latex]n[/latex] углублений сумма двух таких дуг равна [latex]2\pi/3[/latex] при [latex]k[/latex]=1 и [latex]2arccos\frac{1}{k+1}[/latex] в общем случае. Итак, сумма дуг, по которым прокатится монета [latex]M[/latex], равна [latex]\pi(n+2)-2\pi n/3[/latex] (в общем случае [latex]\pi(n+2)-2n\arccos\frac{1}{k+1}[/latex]. Чтобы узнать искомое число оборотов, нужно умножить эту велечину на [latex]2[/latex]( в общем случае на [latex]1+1/k[/latex]) и разделить на 2[latex]\pi[/latex].
А значит ответ ([latex]\frac{n}{3}+2[/latex]) оборота при k=1, и [latex]\frac{k+1}{2k}(n-\frac{2}{\pi}n \arccos\frac{1}{k+1}+2)[/latex] оборота в общем случае.

Ссылка на решение:Ideone

A60г

Алла Марокко
Алла Марокко

Latest posts by Алла Марокко (see all)

Задача:
Пусть [latex]D[/latex] — заштрихованная часть плоскости и пусть u определяется по [latex]x[/latex] и [latex]y[/latex] следующим образом: [latex] u=\begin{cases}x^{2}-1, ; \text{ if } (x,y)\in D \\\sqrt{\left| x-1 \right| } ; \text{ another case }\end{cases}[/latex] (запись [latex](x,y)\in D[/latex] означает, что точка с координатами [latex]x, y[/latex] принадлежит [latex]D[/latex]).

Даны действительные числа [latex]x[/latex] и [latex]y.[/latex] Определить [latex]u.[/latex]

a60%d0%b3
Тесты:

Вход Выход
[latex]x[/latex] [latex]y[/latex] [latex]u[/latex]
1 0.3 0.3 0.836660
2 1 1 0.000000
3 2 2 1.000000
4 0 0 -1.000000

Код:

Решение:
Для решения задачи проверим не принадлежит ли выбранная точка полуплоскости [latex] y<0 [/latex].Затем следует проверить не лежит ли выбранная точка вне полукруга, радиус которого равен 1 . Следующим действием нужно проверить не находиться ли точка в вырезанной четвертине маленького круга, радиус которого равен 0.3 .
Ссылка:
Онлайн компилятор ideone .

ML30. Объём параллелепипеда

Задача. Найти объём параллелепипеда три стороны которого образованы векторами [latex] \overrightarrow{a}=(a_x,a_y,a_z),[/latex] [latex]\overrightarrow{b}=(b_x,b_y,b_z)[/latex] и [latex]\overrightarrow{c}=(c_x,c_y,c_z).[/latex]

Входные данные: Координаты векторов [latex]\overrightarrow{a},[/latex] [latex] \overrightarrow{b},[/latex] [latex]\overrightarrow{c}. [/latex]

Выходные данные: Объём параллелепипеда.

Тесты

Входные данные Выходные  данные
0 0 1 0 1 0 1 0 0  1
0 0 0 1 0 0 0 0 1  0
1 0 0 0 0 1 0 0 1  0
2 5 3 4 1 0 -2 7 6  18
3 5 1 0 -7 2 6 -4 5  21

Код программы

Решение

Для решения данной задачи можно составить матрицу и вывести из неё формулу для нахождения определителя:
[latex]\triangle = \begin{vmatrix}a_x & a_y & a_z \\ b_x & b_y & b_z \\ c_x & c_y & c_z\end{vmatrix} =[/latex] [latex] a_x \left(b_y c_z+c_y b_z\right)[/latex] [latex]-a_y \left(b_x c_z+c_x b_z\right)+[/latex] [latex]a_z\left(b_x c_y+c_x b_y\right).[/latex]

Модуль определителя матрицы равен объёму параллелепипеда.

Решение на ideone.

KM63

Задача М63 из журнала «Квант» №1 за 1971 год, стр.39. Автор А.А. Кириллов.
Можно ли из плиток размером 1х2 сложить четырехугольник размером [latex] M\times N [/latex] так, чтоб при этом не было ни одного прямого «шва», соединяющего стороны квадрата и идущие по краям плиток.
km63

Изображение как на рисунке не годиться так как тут есть «шов» [latex] AB [/latex].

Входные данные
Размеры четырёхугольника [latex] M [/latex] и [latex] N [/latex].

Выходные данные
Возможно ли это сделать [latex] Yes [/latex] или не возможно [latex] No [/latex].

Тесты

вводимые данные выводимые данные
M N возможно || не возможно
2 16 no
6 6 no
66 69 yes
16 5 yes
99 71 no
7 7 no
78 77 yes
7 8 yes

Код задачи

Решение
Легко доказать, что прямоугольники [latex] {2\times m}, [/latex] [latex] {3\times m}, [/latex] [latex] {4\times m} [/latex] разрезать таким образом нельзя. Если же [latex] {m\geq{5}}, [/latex] [latex] {n\geq{5}} [/latex] и [latex] mn [/latex] четно (последнее условие разумеется необходимо), то во всех случаях кроме [latex]{6\times 6}[/latex] нужное разбиение существует.
Ссылки
ideone

ML 27. Угол между векторами

Лена Бригарь
Лена Бригарь

Latest posts by Лена Бригарь (see all)

Условие:

Найти угол в градусах, минутах и секундах между векторами [latex]\overrightarrow{a}=(a_x,a_y,a_z)[/latex] и [latex]\overrightarrow{b}=(b_x,b_y,b_z)[/latex].

Входные данные:

Координаты векторов [latex] \overrightarrow{a}[/latex] и [latex]\overrightarrow{b}[/latex].

Выходные данные:

Угол в градусах, минутах и секундах.

Тесты

Входные данные Выходные данные
1 1 1 4 20 31 12 53° 1′ 23″
2 1 61 12 1 11 1 7° 17′ 33″
3 1 0 0 0 0 1 90° 0′ 0″
4 -1 0 1 -2 2 1 44° 59′ 59″

Код

 

Решение:

Для решения данной задачи необходимо найти косинус между векторами, а после перевести радианы в градусы.
Косинус между векторами найдем по формуле [latex] \cos \alpha = \frac{\vec{a}\vec{b}}{\left|\vec{a} \right|\left|\vec{b} \right|}[/latex] .
Скалярное произведение найдем по формуле [latex] \left|\vec{a} \right| \left|\vec{b} \right|={a}_{x}{b}_{x}+{a}_{y}{b}_{y}+{a}_{z}{b}_{z} [/latex] .
Модуль вектора найдем по формуле [latex] \left|\vec{a} \right| = \sqrt{ {{a}_{x}}^{2}+{{a}_{y}}^{2}+{{a}_{z}}^{2} } [/latex] ; [latex] \left|\vec{b} \right| = \sqrt{ {{b}_{x}}^{2}+{{b}_{y}}^{2}+{{b}_{z}}^{2} } [/latex] .
Затем переведем радианы в градусы по формуле [latex] \frac{180}{ \arccos (-1.0) \arccos (\cos \alpha )} [/latex] .
[latex] \arccos (-1.0) [/latex] это число [latex] \pi [/latex] .

Ссылки:

Решение задачи на ideone.com: http://ideone.com/Gx3IVU
Косинус угла между векторами: http://ru.onlinemschool.com/math/library/vector/angl/
Скалярное произведение векторов: http://ru.onlinemschool.com/math/library/vector/multiply/
Модуль вектора: http://ru.onlinemschool.com/math/library/vector/length/
Перевод радиан в градусы: http://www.cleverstudents.ru/trigonometry/radian_and_degree_conversion.html
Условие задачи: http://cpp.mazurok.com/mtasks/