A704

Задача: Даны квадратные матрицы [latex]A[/latex], [latex]B[/latex] и [latex]C[/latex] порядка [latex]n[/latex]. Получить матрицу [latex](A+B)C.[/latex]

Тесты:

n A B C Output
3 1 2 3
4 5 6
7 8 9
0 1 0
0 0 0
0 0 0
1 0 0
0 1 0
0 0 1
1 3 3
4 5 6
7 8 9
2 4 6
12 7
3 2
1 1
7 3
2 8
65 85
107 103
3 3 4 1
1 2 1
5 6 7
1 3 1
2 4 5
6 5 1
1 1 0
5 8 1
2 3 2
43 66 11
45 69 18
82 123 27

Код:

Решение:
В первом цикле читаем матрицу [latex]A[/latex]. Во втором цикле читаем матрицу [latex]B[/latex] и сразу прибавляем ее к матрице [latex]A[/latex], получаем сумму матриц. В третьем цикле умножаем сумму матриц [latex]A[/latex] и [latex]B[/latex] на матрицу [latex]C[/latex] и выводим результат.

Код на Ideone

А136и

Задача: Даны натуральное число n, действительные числа [latex]k_{1}, k_{2}, \dots, k_{n}[/latex] Вычислить [latex]\frac{k_{1}}{0!} + \frac{k_{2}}{1!} + \dots + \frac{k_{n}}{(n-1!)} [/latex]

Тесты

Число-n Действительные числа Результат
5 4 5 6 7 8 13,5
7 5 4 7 9 2 8 3 14,1542
3 6 9 3 16,5

Код:

Решение:

  1. Вводим n, k (действительные числа);
  2. Получаем очередное действительное число k.
  3. Делим на факториал и суммируем;

Решение на Ideone

e-olymp 911. Квадратное уравнение

Задача на e-olymp
Условие:

Составить программу для решения квадратного уравнения [latex]ax^2 + bx + c = 0,[/latex] [latex](a\neq0).[/latex]

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

В одной строке задано три целых числа – коэффициенты квадратного уравнения соответственно a,b и c. Значения коэффициентов не превышают по модулю 100.

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

В одной строке вывести в случае отсутствия корней сообщение “No roots” (без кавычек), в случае, если решение содержит один корень вывести сначала сообщение “One root:” (без кавычек), а далее через пробел сам корень, в случае наличия двух корней вывести сначала сообщение “Two roots:” (без кавычек), а далее через пробел сначала меньший, а потом больший корень. Гарантируется, что в случае наличия решений все корни целочисленные.

Тесты

 Входные данные Выходные данные
 1 -5 6  Two roots: 2 3
 1 10 25  One root: -5
 1 2 3  No roots
 2 6 7  No roots
 1 -2 1  One root: 1
 1 6 9  One root: -3
 3 -7 10  No roots

Код:

Решение:
Для того чтобы его решить надо сначала найти дискриминант: [latex]d=b^2-4ac[/latex], а потом подставить его в следующие формулы для нахождения действительных корней квадратного уравнения: [latex]x_1=\frac{-b+\sqrt d}{2a}[/latex] и [latex]x_2=\frac{-b-\sqrt d}{2a}[/latex]. Однако для квадратного уравнения существует 3 варианта ответов зависящие от дискриминанта. Все 3 варианта расписаны в if-блоках, где сначала проверяется дискриминант и от его значения уже определяется сколько корней у нас будет. После этого выводятся корни, гарантированно целочисленные, или надпись “No roots”, если их нет.

Решение на e-olymp
Решение на ideone

A71

Код на Ideone

Задача.

Дано действительное число [latex]a[/latex]. Вычислить  [latex]f(a)[/latex], где  [latex]f[/latex] – периодическая функция с периодом 1.5, совпадающая на отрезке  [latex][0;1.5][/latex] с функцией  [latex]x^3-2,25x[/latex].

Тесты:

[latex]a[/latex] [latex]f(a)[/latex] Комментарий
2.12 -1.15667 Тест пройден
-8 -1.25 Тест пройден
11.6 -1.14 Тест пройден
3.7 -1.232 Тест пройден

Код

Решение:

Мы просто приравниваем [latex]a[/latex] к остатку от деления числа [latex]a[/latex] на период [latex]p=1.5[/latex], таким образом мы сдвигаем [latex]a[/latex], влево на необходимое количествоp пока [latex]a[/latex] не попадет в отрезок [latex][0;1.5][/latex]. Если число [latex]a[/latex] принадлежит отрезку [latex][0;1.5][/latex], то по данному алгоритму число [latex]a[/latex] останется неизменным.

e-olymp 388. Превращение

Задача на e-olymp 388

Ссылка на засчитанное решение.

Условие

Возьмем какое-нибудь натуральное число [latex]n[/latex]. Будем изменять его следующим образом: если число четное, то разделим его на 2, если нечетное, прибавим 1. После нескольких таких изменений мы всегда получаем число 1. Например, из числа 11 получается число 12, затем 6, 3, 4, 2 и, наконец, 1. Таким образом, для получения 1 из 11 нужно проделать 6 изменений.

Напишите программу, которая считывает натуральное число и выводит количество изменений данного числа до получения 1.

Число [latex]n(1\leq n \leq10^{9}).[/latex]

Тесты

Входные данные(n) Выходные данные
11 6
43 9
1 0

Код

Решение

Пусть [latex]n[/latex] – это число, которое мы будем изменять, а [latex]counter[/latex] – количество превращений. Цикл должен выполняться до того момента, пока [latex]n[/latex] Чтоб проверить число на чётность/нечётность, делим его по модулю и сравниваем остаток с нулём. Если число – чётное, то делим его на 2, в противном случае – добавляем единицу, и при выполнении каждого действия, увеличиваем количество превращений на 1.