А694а. Многомерные массивы

Условие
Получить квадратную матрицу порядка $latex \begin{pmatrix}1 &0 &\cdots & 0 \\ 0 & 1 &\cdots &0 \\ \cdots &\cdots &\cdots \cdots & \cdots \\ 0 & 0 & \cdots & 1\end{pmatrix}$

Тесты

n Матрица
3 1 0 0
0 1 0
0 0 1
4 1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
6 1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
Решение

  1. С помощью цикла заполняем главную диагональ единицами.
  2. Приравниваем элементы не равные единице к нулю.
  3. Вывод массива.

Iseone.com

A153.Потоковая обработка

Условие
Даны натуральное число [latex]n[/latex], действительный числа [latex]x[/latex], [latex]a_{n}, a_{n-1}, \ldots, a_{0}[/latex]. Вычислить используя схему Горнера, значение [latex]a_{n}{x}^{n} + a_{n-1}{x}^{n-1} + \cdots + a_{0}.[/latex] [latex]a_{n}{x}^{n} + a_{n-1}{x}^{n-1} + \cdots + a_{0} = \left( \ldots \left(a_{n}{x} + a_{n-1}\right)x + \cdots + a_{1}\right)x + a_{0}.[/latex]

$latex n$ $latex x$ $latex { a }_{ n }$ $latex { a }_{ n-1 }$ $latex { a }_{ n-2 }$ $latex { a }_{ n-3 }$ $latex s$
3 2 5 4 3 2 64
2 1 3 4 7 _ 14
3 0 3 4 12 8 8
3 5 0 10 12 8 318
1 5 2 1 _ _ 11

Решение
Начинаем с коэффициента с рядом с $latex X$-ом c максимальной степенью, у нас это элемент $latex { a }_{ n }$, мы последовательно умножаем его (коэффициент) на $latex X$, а потом прибавляем следующий считанный коэффициент и сохраняем полученное значение в переменной.
Это был пример решения для$latex n$=2 , если же$latex X$ > 2 , то мы должны выполнить алгоритм для $latex n$=2, после чего $latex X$ — 2 раз умножать полученное в переменной значение на $latex X$ и прибавлять последующий элемент.

Ideone.com

MLoop 15. Циклические вычисления

Условие
Вычислите с точностью  значение функции $latex f(x)=\csc x$. При вычислениях допустимо использовать только арифметические операции.

          x $latex \varepsilon$  Результат
42 0.3 -8.09848e-05
8 0.15 -0.0117188
55.5 0.04 -3.50972e-055
-12 0.6 0.00347222
-82 0.0001 -3.23677e-08
Решение
Косеканс — это тригонометрическая функция, которою можно определить формулой $latex \csc x=\frac{1}{\sin x}$. Таким образом, мы можем разложить  функцию в бесконечную сумму степенных функций, воспользовавшись формулой Тейлора. Получим, что $latex \sin x=x-\frac{{x}^{3}}{3!}+\frac{{x}^{5}}{5!}-\dots=\sum_{n=0}^{\propto}\frac{{-1}^{n}\times{x}^{2n+1}}{\left(2n+1\right)!}$. Слагаемые данной суммы являются геометрической прогрессией, знаменатель который можно найти по формуле $latex \frac{a_n}{a_{n-1}}=\frac{\frac{{-1}^{n}\times{a}^{2n+1}}{\left(2n+1 \right)!}}{\frac{{-1}^{n-1}\times{a}^{2n-1}}{\left(2n-1 \right)!}}=\frac{\left( -1\right){a}^{2}}{2n\times\left( 2n+1\right)}$  .  Будем вычислять сумму до тех пор, пока разность -го и  -го слагаемых  будет больше заданной точности.

Ideone.com

A39. Алгоритмы с ветвлением

Условие
Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так.

Тесты

Входные данные Выходные данные
3 2 3
5 10 5 10
30 20 30
30 50 30 50
Решение
Пусть даны два действительных числа x, y. Для ввода x и y используем тип double для действительных чисел. Задаем условие, если первое число больше второго, используя оператор if, выводим первое число x.
Вводим else, если это не так, выводим оба числа.

Ideone.com

ML4. Линейные вычисления

Условие
Даны два действительных положительных числа. Найти среднее арифметическое и среднее геометрическое этих чисел.

Тесты

Входные данные Выходные данные
1 -1 -3 -2 1.73205
2 5 6 5.5 5.47723
3 4 6 5 4.89898
4 100 2.6 51.3 16.1245
Решение
Так как нам в задаче не указано какой длины будут числа, мы используем тип данных long double, который поможет охватить весь их диапазон. Для того, чтобы найти среднее арифметическое чисел нам нужно воспользоваться формулой: $latex A=\frac{x_1+x_2+ \ldots +x_n}{n}$, но так как у нас задано всего два числа, будем пользоваться этой формулой: $latex A= \frac{a+b}{2}$. Среднее геометрическое вычисляется по формуле: $latex G=\sqrt[n]{x_1+x_2+ \ldots +x_n}$, но нам понадобиться формула только для двух чисел: $latex G=\sqrt{a . b}$

Ideone.com