e-olymp 919. Номер на 3

Задача

Условие

Задана последовательность действительных чисел $a_{1}$, $a_{2}$,…, $a_{n}$. Определить сумму и количество положительных элементов, индексы которых делятся на $3$ без остатка.

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

В первой строке задано количество элементов $n$ ($n \leq 100$) в последовательности. В следующей строке находится $n$ вещественных чисел, значение каждого из которых по модулю не превышает $100$.

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

В одной строке вывести количество искомых элементов и их сумму, вычисленную с точностью до двух десятичных знаков.

Тесты

Входные данные Выходные данные
1 6
6 7.5 2.1 2.0 0 -3
1 2.10
2 3
12 0.33 -14
0 0.00
3 1
-3.4
0 0.00
4 12
0 15.3 -1 144 0.333 17.5 -69 456 2.5 0 3 13
3 33.00

Решение

Для решения этой задачи необходимо просмотреть все элементы последовательности и выбрать из них те, номера которых кратны трём, а сами элементы положительны. Далее вычисляем количество таких чисел и их сумму.
В данной реализации используются цикл и условный оператор. Также необходимо задать точность. Для этого используем функцию setprecision().

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

Ссылки

e-olymp 50. Разрезанное число

Задача

Василий на бумажке в виде полоски написал число, кратное $d$. Его младший брат Дмитрий разрезал число на $k$ частей. Василий решил восстановить написанное число, но столкнулся с проблемой. Он помнил только число $d$, а чисел, кратных $d$, можно сложить несколько.
Сколько чисел, кратных числу $d$, может составить Василий, если составляя исходное число, он использует все части.

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

В первой строке записано два числа $d$ и $k$ $\left(1 ≤ k < 9, 1 ≤ d ≤ 100\right)$. В следующих $k$ строках находятся части числа. Количество цифр в разрезанных частях не превышает $10.$

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

Количество разных чисел.

Тесты

Входные данные Выходные данные
$5$ $3$
$13$
$85$
$45$
$4$
$11$ $2$
$1$
$111$
$1$
$11$ $3$
$11$
$8$
$11$
$0$
$71$ $8$
$4018916609$
$7495223237$
$3405637482$
$3166003637$
$8998228133$
$1141886496$
$9124347310$
$7736090711$
$584$

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

Решение задачи

Согласно свойствам остатков от деления, остаток от деления суммы двух натуральных чисел на натуральное число $d$ совпадает с остатком от деления на $d$, который при делении на $d$ дает сумма их остатков. А также остаток от деления произведения двух натуральных чисел на натуральное число $d$ совпадает с остатком от деления на $d$, который при делении на $d$ дает произведение их остатков.
Значит, мы можем решить обычным перебором, но на каждом действии берем остаток от деления на $d$.
Также части чисел могут совпадать, в связи с чем необходима проверка на то, что мы составленное число еще не записывали. Для этого мы будем хешировать полученное число следующим образом: последнюю цифру умножим на $101^0$, предпоследнюю — на $101^1$ и так далее.
Если наш конечный результат делится на $d$ без остатка и если составленное число встречается в первый раз, то увеличиваем счетчик на $1$.

Ссылки

Условие задачи на e-olymp
Код решения

Ю2.16

Задача. Среди заданных целых чисел [latex]k[/latex] , [latex]l[/latex] , [latex]m[/latex] найти пары кратных.

 

k l m    Комментарий
0 0 0 Нет пар
0 0 1 Нет подходящих пар
2 4 6 Две пары
3 3 3 Нет пар
3 3 6 Две пары
-2 -4 -8 Нет пар
-2 4 8 Одна пара

Учитываем, что кратные числа — натуральные, и число не может быть кратным само себе.
Для выполнения задания необходимо воспользоваться операцией  «остаток от деления». Если в результате получается 0, то два числа кратные.