А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

 

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

 

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 Пройден

 

А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 Пройден

А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 Пройден

Ю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 Пройден