А136е

Постановка задачи

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

Даны натуральное число [latex]n[/latex] и действительные числа [latex]a_{1}, a_{2}, \ldots, a_{n}[/latex]

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

Вычислить [latex]a_{1}+a_{2}+\cdots+a_{n}[/latex] и [latex]a_{1}a_{2}\cdots a_{n}[/latex].

Код

Тесты

n [latex]a_{1}, a_{2}, \cdots, a_{n}[/latex] s p
2 3 4 7 12
4 1 3 5 7 16 105
6 2 2 3 3 4 4 18 576
1 9 9 9

 

Решение

В программе задаем число [latex]n[/latex]— количество элементов сумм и произведения и [latex]a[/latex]— элементы сумм и произведения;  [latex]n[/latex] и [latex]a[/latex] вводим с клавиатуры. В цикле находим сумму и произведение.

http://ideone.com

e-olymp 904. Увеличить на 2

Постановка задачи

Задан одномерный массив [latex]A[/latex] целых чисел. Увеличить на [latex]2[/latex] каждый неотрицательный элемент массива.

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

В первой строке задано натуральное число [latex]n[/latex] — количество элементов массива [latex]n <= 100[/latex]. Во второй строке через пробел заданы сами элементы массива, значение каждого из которых по модулю не превышает 100.

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

В единственной строке вывести через пробел [latex]n[/latex] чисел: новые значения элементов массива, в том же порядке, в котором они были заданы.

Код

Тесты

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

Решение

Вводим число [latex]n[/latex]. Используем цикл for и вводим число [latex]a[/latex]. Выводим неотрицательное число [latex]a[/latex], либо без изменений, либо увеличенное на два.
e-olymp.com
ideone.com

A406

Задача

С помощью x_{ij}, i=1,2; j=1,\ldots,n. – действительной матрицы на плоскости задано n точек так, что x_{1j}, x_{2j} – координаты j – точки. Точки попарно соединены отрезками. Найти длину наибольшего отрезка.

Тест

n Матрица x_{ij}, i=1,2. Длина наибольшего отрезка  Комментарий
3 2 8 4

9 1 5

10 Пройдено
4 6 14 2 1

9 3 8 0

13.3417 Пройдено
5 1 8 4 3 7

2 9 5 0 11

11.7047 Пройдено

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

 

Ход решения:

  1. Вводим матрицу.
  2. Находим длину наибольшего отрезка.
    С помощью вложенных циклов мы находим длины всех отрезков по формуле
     AB=\sqrt{(x_{2}-x_{1})^{2}+(y_{2}-y_{1})^{2}}, A(x_{1},y_{1}), B(x_{2},y_{2}).
  3. По алгоритму нахождения максимума находим длину наибольшего отрезка.
  4. Выводим матрицу.
  5. Выводим длину наибольшего отрезка.
    Ссылка на код

Ю4.15

Заданы массивы A(n) и B(m). Получить массив C(m+n), расположив в начале его элементы массива A, а затем элементы массива B.

Тесты:

n m A[n] B[m] Результат:
3 4 0 1 2 5 7 8 4 A={0 1 2}
B={5 7 8 4}
C={0 1 2 5 7 8 4}
2 9 9 3.6 7.4 3.6 4.6666 7.99702 1 1 1 1 1 A={9 3.6}
B={7.4 3.6 4.6666 7.99702 1 1 1 1 1}
C={9 3.6 7.4 3.6 4.6666 7.99702 1 1 1 1 1}

Код

Решение
Задаем размерности массивов. Вводим их. Затем заполняем массив C элементами сначала из массива A (A элементов), а затем (с A-ого элемента ) — элементами из массива A. Выводим массив C.

Код на ideone.com

e-olymp 109. Numeration

Задача взята с сайта e-olymp.com.

Условие

Для нумерации M страниц книги использовали N цифр. По заданному N вывести M или 0, если решения не существует. Нумерация начинается с первой страницы.

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

Единственное число N. В книге не более 1001 страницы.

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

Искомое количество страниц.

Тесты :

N 8 21 22 113 999 1001
M 8 15 0 61 369 0

Код на Java:

Ход решения:

Принимаем исходное количество страниц M как 1.
В зависимости от M, вычитаем необходимое количество цифр из N:

Далее проверяем условие выхода. Если при этом мы получили отрицательное значение N, значит, исходное его значение также было неверным, тогда количеству страниц присваиваем 0:

Выйдя из цикла, выводим M:

Ссылки:

Рабочий код для тестирования на Ideone.com: Ideone.com

Ю4.8

Условие

В массиве C(m) заменить каждый третий элемент полусуммой двух предыдущих, а стоящий перед ним – полусуммой соседних с ним элементов.

Решение

Задаем массив и вводим элементы массива. Задавать массив менее чем из трех элементов не имеет смысла, поэтому проверяем количество элементов. Пересчитываем каждый третий элемент, запоминая сначала значение стоящего перед ним, который также отдельно пересчитываем.

Код

Ссылка на Ideone.

Тест

Входные данные Выходные данные
Размер массива Элементы
4 2 7 4 1 2.0, 3.0, 4.5, 1.0
2 5 8 Try again

e-olimp 7365 — Молоко и пирожок

Задача на e-olimp.

Условие

Ученикам первого класса дополнительно дают стакан молока и пирожок, если вес первоклассника менее 30 кг. В первых классах школы учится n учеников. Стакан молока имеет емкость 200 мл, а упаковки молока – 0,9 л. Определить количество дополнительных пакетов молока и пирожков, необходимых каждый день.

Решение

Возьмем количество пирожков за счетчик. Используя for найдем количество пирожков для детей, вес которых не превышает 30кг. По количеству пирожков мы можем найти количество упаковок молока. При этом мы можем получить не целое число. Чтобы избежать этого, используем метод ceil из класса Math для округления до целого.

Код

Ссылка на Ideone.

Тест

Входящие данные Выходящие данные
n w(вес) pack pie
4 30 29 40 25 1 2
7 21 20 22 29 26 27 26 2 7

Проверка решения на e-olimp.

e-olymp 141. Минимальная сумма цифр

Задача взята с сайта www.e-olymp.com

Условие задачи:

Сколько натуральных чисел из промежутка [latex][M,N][/latex] имеют наименьшую сумму цифр ?

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

Во входном файле два числа [latex]M[/latex] и [latex]N[/latex], [latex]1\le M\le N\le 1000000[/latex].

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

В выходной файл нужно записать ответ – одно число.

Тесты

M N Вывод
1 1 100 3
2 2 17 1
3 32 1024 2
4 1 1000000 7
5 10 10 1

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

www.ideone.com

Решение
Для решения данной задачи зададим функцию, которая возвращает сумму чисел вводимого нами числа. После ввода границ необходимого промежутка присваиваем минимальную сумму [latex](sumMin)[/latex] сумме цифр первого числа [latex]M[/latex], счетчик количества элементов с минимальной суммой цифр изначально равен 1. В цикле подсчитываем сумму цифр каждого последующего числа, если найдется число с меньшей суммой цифр, значит теперь эта сумма и является минимальной, присваиваем её значение переменной [latex]sumMin[/latex]. Если же встречаются элементы, сумма цифр которых равна [latex]sumMin[/latex], увеличиваем счетчик. Он и будет количеством натуральных чисел на промежутке, имеющих наименьшую сумму цифр.
Ссылка на полностью засчитанное решение на сайте e-olymp.