А705

Задача:
Даны квадратные матрицы [latex]A[/latex] и [latex]B[/latex] порядка [latex]n[/latex]. Получить матрицу [latex]A(B-E)+C[/latex], где [latex]E[/latex] — единичная матрица порядка [latex]n[/latex], а элементы матрицы [latex]C[/latex] вычисляются по формуле:[latex]C_{ij}=\frac{1}{i+j}\;\;\;\;(i,j=1,2,\ldots,n)[/latex].

Тесты
К сожалению я не разместила здесь тесты к задаче.

Решение
Реализуем хранение матрицы в виде двумерного массива. Операции сложения и вычитания матриц выполняются поэлементно. Умножение требует наличия у левого сомножителя такого же числа столбцов, как и число строк у правого сомножителя. Поэлементно умножаем каждую строку первой матрицы на каждый столбец второй накапливая сумму значений в элементах результирующей матрицы.

Код C++

Код C++ на Ideone: A705

Код Java

Код Java на Ideone: A705

Тесты:

№ теста Размерность матрицы n Матрица A Матрица В Ответ
1 2 3 4
2 1
2 1
9 0
  39.50  -0.67

11.33  1.25

2 4 5 5 5 5
0 0 8 7
2 3 4 7
8 6 1 2
5 7 3 4
9 8 3 4
2 3 4 5
6 6 6 6
  105.50  115.33  75.25  90.20

58.33  66.25  66.20  75.17

85.25  89.20  69.17  75.14

100.20  113.17  57.14  71.12

3 3 0 0 0

0 0 0

0 0 0

1 0 0

0 1 0

0 0 1

 0.5 0.33 0.25

0.33 0.25 0.20

0.25 0.20 0.17

 

Related Images:

e-olimp 4513. Сортировка вагонов — B

Сортировка вагонов — B

prb4513   К тупику со стороны пути 1 (см. рисунок) подъехал поезд. Разрешается отцепить от поезда один или сразу несколько первых вагонов и завезти их в тупик (при желании, можно даже завезти в тупик сразу весь поезд). После этого часть из этих вагонов вывезти в сторону пути 2. После этого можно завезти в тупик еще несколько вагонов и снова часть оказавшихся вагонов вывезти в сторону пути 2. И так далее (так, что каждый вагон может лишь один раз заехать с пути 1 в тупик, а затем один раз выехать из тупика на путь 2). Заезжать в тупик с пути 2 или выезжать из тупика на путь 1 запрещается. Нельзя с пути 1 попасть на путь 2, не заезжая в тупик.

Известно, в каком порядке изначально идут вагоны поезда. Требуется с помощью указанных операций сделать так, чтобы вагоны поезда шли по порядку (сначала первый, потом второй и т. д., считая от головы поезда, едущего по пути 2 в сторону от тупика). Напишите программу, определяющую, можно ли это сделать.

 

Технические условия

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

Вводится число [latex]N[/latex] — количество вагонов в поезде [latex]\left(1\leq N\leq100\right)[/latex]. Дальше идут номера вагонов в порядке от головы поезда, едущего по пути 1 в сторону тупика. Вагоны пронумерованы натуральными числами от [latex]1[/latex]  до [latex]N[/latex], каждое из которых встречается ровно один раз.

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

Если сделать так, чтобы вагоны шли в порядке от [latex]1[/latex]  до [latex]N[/latex], считая от головы поезда, когда поезд поедет по пути 2 из тупика, можно, выведите сообщение YES, если это сделать нельзя, выведите NO.

 

Код

Ссылка на код : № 4513 , ссылка на решение на e-olimp : http://www.e-olimp.com.ua/solutions/1935588

 

Related Images:

A119в

Задача

Вычислить бесконечную сумму с заданной [latex]\left(\varepsilon>0\right)[/latex]. Считать что требуемая точность достигнута если очередное слагаемое оказалось по модулю меньше, чем [latex]\varepsilon[/latex] ,это и все последующие слагаемые можно уже не учитывать. Вычислить:

[latex]\sum _{i=1}^{\infty}{\frac{{-1}^{i}}{i!}}[/latex]

Код C++

Код C++ на Ideone: http://ideone.com/jIBbYb

Код Java

Код Java на Ideone: A119в.

Комментарии

Вычисляем бесконечную сумму с точностью до [latex]\varepsilon[/latex].

Тесты

[latex]\varepsilon[/latex] Результат Комментарий
1e — 5 -0,632118 Пройден
1e — 25 -0,632121 Пройден
1e — 2 -0,625 Пройден

 

Related Images:

А60е

ЗадачаБезымянный

Пусть [latex]D[/latex] — заштрихованная часть плоскости (рис.) и пусть [latex]u[/latex] определяется по  [latex] x [/latex] и  [latex] y [/latex] следующим образом (запись [latex] (x, y)[/latex] [latex] \in[/latex] [latex]D [/latex] означает, что точка с координатами [latex] x ,y [/latex] принадлежит [latex] D [/latex]).
[latex]u=\left\{\begin{matrix}x+y,&\left(x,y\right)\in D\\x-y,&\left(x,y\right)\notin D\end{matrix}\right.[/latex]
Код C++
Код C++ на Ideone: www.ideone.com/s6vMul

Код Java

Код Java на Ideone: A60e

 Комментарии

 Для всех трех функций необходимо  проверить чтобы заданная ордината была больше [latex]y=x^{2}[/latex]  и одновременно меньше [latex]y=e^{-x}[/latex] , [latex]y=e^{x}[/latex].

Тесты

x y Результат Комментарий
0 0 0 Пройден
0 1 1 Пройден
34 45 -11 Пройден

Related Images:

А156 б

Задача

Даны натуральное число [latex] n [/latex] , действительные числа [latex] x_1, \ldots ,x_n [/latex] ([latex] n[/latex][latex]>[/latex][latex]3[/latex])  . Вычислить:

[latex] (x_{1}+x_{2}+x_{3})x_{2}+(x_{2}+x_{3}+x_{4})x_{3}+\ldots+(x_{n-2}+x_{n-1}+x_{n})x_{n-1}[/latex]

Код C++

 

 Код C++ на Ideone: http://ideone.com/l7qlqZ

Код Java

Код Java на Ideone: A156б

Комментарии

Вводим первые [latex]x_1, x_2, x_3[/latex] , вычисляем  сумму  [latex]\sum_{i= 3}^{n}\left ( x_{n-2}+x_{n-1}+x_{n} \right )x_{n-1}[/latex], каждый раз заменяя [latex]x_1[/latex] на [latex]x_2[/latex] и [latex]x_2[/latex] на [latex]x_3[/latex], а [latex]x_3[/latex] считывая из стандартного потока .

Тесты

Размер массива (n) Массив (x[n]) Результат Комментарии
3 1 2 3 12 Пройден
4 1.1  2.3  4.5  6.7 78.92 Пройден
5 0 0 2 -4 7 -24 Пройден

Related Images:

Ю4.22

Задача

Плюсы и минусы. В массиве [latex] Z(m) [/latex] найти число чередований знака, то есть число переходов с минуса на плюс или с плюса на минус. Например в последовательности 0, -2, 0, -10, 2, -1, 0, 0, 3, 2, -3  четыре чередования (как известно нуль не имеет знака).

Код С++

 

Код С++ на Ideone: http://ideone.com/qEJL9Z

Код Java

Код Java на Ideone: Ю 4.22

Комментарии

Задаем массив и делаем проверку: находим первый член массива не равный нулю, запоминаем его знак, находим следующий, проверяем если знаки совпадают ищем следующий член массива, в противном случае к сумме прибавляем единицу и запоминаем новый знак .

Тесты

Размер массива (m) Массив (Z[m]) Результаты Комментарии
11 0 -2 0 -10 2 -1 0 0 3 2 -3 4 Пройден
1 1 0 Пройден
5 1 -2 3 -4 5 4 Пройден

Related Images:

Ю3.10

Задание

Расписание. Известно время начала и окончания (например, 6:00 и 24.00) работы некоторого пригородного автобусного маршрута с одним автобусом на линии, а также протяженность маршрута в минутах (в один конец) и время отдыха на конечных остановках. Составить суточное расписание этого маршрута (моменты отправления с конечных пунктов) без учета времени на обед и пересменку.

Код С++

Код С++ на Ideone: http://ideone.com/8gyewh

Код Java

Код Java на Ideonehttp://ideone.com/9pzXkc

 Комментарии

Зададим начало и конец работы автобуса,  время затраченное на путь и время отдыха в минутах.  Тогда на остановках он будет появляться через [latex] x [/latex] минут, где [latex] x [/latex] = протяженность маршрута в минутах (в один конец) + время отдыха на конечных остановках.

Тесты

Время начала работы автобуса Время конца работы автобуса протяженность маршрута в минутах (в один конец) время отдыха на конечных остановках Результаты Комментарии
06:00 24:00 120 15 06:00

10:30

15:00

19:30

08:15

12:45

17:15

21:45

 

Пройден
8:00 24:00 30 10 8:00

09:20

10:40

12:00

13:20

14:40

16:00

17:20

18:40

20:00

21:20

22:40

24:00

8:40

10:00

11:20

12:40

14:00

15:20

16:40

18:00

19:20

20:40

22:00

23:20

 

Пройден

Related Images:

Ю1.12

Задача

Экстремальные точки маятника. Заданы координаты точки подвески математического маятника [latex]A(x_0, y_0, z_0)[/latex] и координаты одной из точек его наивысшего подъема [latex]B(x_1, y_1, z_1)[/latex]. Найти координаты самой низкой точки траектории и другой наивысшей точки подъема.

Код C++

Код С++ на Ideone:

Код Java

Код С++ на Ideone: Ю1.12

Комментарии к решению

Математический маятникВычисляя координаты второй наивысшей точки подъема заметим, что координата  [latex] z_1[/latex] не изменяется, а  другие две координаты изменятся так:

  1.  [latex]x=x_0-(x_1 — x_0) [/latex]
  2.  [latex]y=y_0-(y_1-y_0) [/latex]

Для вычисления самой низкой точки траектории нам понадобится формула для определения длины отрезка:

 [latex]d=\sqrt{(x_0-x_1)^2+(y_0-y_1)^2+(z_0-z_1)^2}[/latex]. С помощью этой формулы вычисляем [latex] z_0[/latex] ,  а координаты [latex] x_0, y_0[/latex] не изменяются.

 Тесты

x0 y0 z0 x1 y1 z1 coordinats of the low point coordinats of the another high point Комментарии
0 0 0 0 0 0 (0.0; 0.0; 0.0) (0.0; 0.0; 0.0) пройден
1 2 3 4 5 6  (1.0; 2.0;-2.2) (-2.0; -1.0; 6.0) пройден
1.2 1.2 1.2 4.2 4.2 4.2 (1.2; 1.2; -4.0) (-1.8; -1.8; 4.2) пройден
 -6 -5  -4  -3 -2  -1  (-6.0; -5.0; -9.2) (-9.0; -8.0; -1.0)  пройден
 0 -10 15 15 10 -16  (0.0; -10; -24.8) (-15.0; -30.0; -16.0)   пройден

 

Related Images: