Плюсануть
Поделиться
Класснуть
Запинить


Олимпиадный тренинг

Вы можете самостоятельно решать эти задачи столько раз, сколько вам это понадобится.
   

Обработка потока данных - 3

Цикл while

Дана непустая последовательность целых чисел, оканчивающаяся нулем. Ноль в последовательность не входит, служит признаком ее окончания. Найти произведение последних цифр всех чисел последовательности, больших числа 13

Входные данные: на вход подаются числа последовательности (все числа не больше 100 по модулю). Ноль - признак окончания ввода. 
Выходные данные: выведите ответ на задачу (гарантируется, что ответ всегда меньше чем 264)

Примеры

Входные данные Выходные данные
1 13
15
3
4
17
0
35

Стандартное отклонение

Цикл while

Дана последовательность натуральных чисел \(x_1, x_2, ..., x_n\)?. Стандартным отклонением называется величина

\(\sigma = \sqrt{\frac{(x_1-s)^2+(x_2-s)^2+\ldots+(x_n-s)^2}{n-1}}\),

где \(s=\frac{x_1+x_2+\ldots+x_n}{n}\) — среднее арифметическое последовательности.

Определите стандартное отклонение для данной последовательности натуральных чисел, завершающейся числом 0.

Входные данные: Вводится последовательность натуральных чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).

Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 1
7
9
0
4.16333199893

Максимальная длина монотонного фрагмента

Цикл while

Дана последовательность натуральных чисел, завершающаяся число 0. Определите наибольшую длину монотонного фрагмента последовательности (то есть такого фрагмента, где все элементы либо больше предыдущего, либо меньше).

Входные данные: Вводится последовательность натуральных чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).
Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 1
7
7
9
1
0
2

Элементы, большие предыдущего

Цикл while

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

Входные данные: Вводится последовательность натуральных чисел (по одному числу в строке), оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).
Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 1
7
9
0
2

Сумма элементов последовательности - 2

Цикл while

Найдите сумму последовательности натуральных чисел, если признаком окончания последовательности является два подряд идущих числа 0. Числа стоящие после двух нулей в решении задачи участвовать не должны.

Входные данные: Вводится последовательность натуральных чисел.
Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 1
0
7
0
9
0
0
5
17

Сколько элементов, равных максимальному

Цикл while

Последовательность состоит из натуральных чисел и завершается числом 0. Определите, какое количество элементов этой последовательности, равны ее наибольшему элементу.

Входные данные: Вводится последовательность натуральных чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).
Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 1
7
9
0
1
2 1
3
3
1
0
2

Второй максимальный в последовательности

Цикл while

Последовательность состоит из различных натуральных чисел и завершается числом 0. Определите значение второго по величине элемента в этой последовательности.

Входные данные: Вводится последовательность натуральных чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).
Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 1
7
9
0
7

Максимальное количество подряд равных

Цикл while

Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу.

Входные данные: Вводится последовательность натуральных чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).
Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 1
7
7
9
1
0
2

Анализ цифр числа - 18

Цикл while

В первой строке вводится натуральное чило n 
Во второй строке вводится цифра  B
Вывести на экран слово YES, если цифра B не встречается в числе 
слово NO, если цифра B встречается в числе 

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545
6
YES

Анализ цифр числа - 12

Цикл while

В первой строке вводится натуральное чило n 
Вывести на экран
- сумму четных цифр числа n

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 65562 14

Анализ цифр числа - 19

Цикл while

В первой строке вводится натуральное чило n 
Во второй строке вводятся цифры A и B
Вывести на экран букву А (англ.), если цифра A встречается в числе чаще цифры B
букву B, если цифра B (англ.) встречается в числе чаще цифры A
знак =, если цифра A и цифра B встречаются одинаковое число раз

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545
4 5
В
2 12221
2 1
А

Анализ цифр числа - 14

Цикл while

В первой строке вводится натуральное чило n 
Во второй строке вводится число B
Вывести на экран
-  слово YES, если сумма его цифр больше числа В, а само число четное
-  в противном случае вывести слово NO

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545 
15
NO
 
2 554
5
YES
 

Анализ цифр числа - 13

Цикл while

В первой строке вводится натуральное чило n 
Вывести на экран максимальную цифру числа n

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 102983 9

Квадраты чисел

Цикл while

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

Входные данные: Вводится одно натуральное число.
Выходные данные: Выведите все числа в одну строку, через пробел

Примеры

Входные данные Выходные данные
1 50 1 4 9 16 25 36 49

Банковские проценты

Цикл while

Вклад в банке составляет x рублей. Ежегодно он увеличивается на p процентов, после чего дробная часть копеек отбрасывается. Определите, через сколько лет вклад составит не менее y рублей.

Входные данные: Программа получает на вход три натуральных числа: x, p, y (по одному числу в строке).
Выходные данные: Программа должна вывести одно целое число.

Примеры
Входные данные Выходные данные
1 100
10
200
8

Сумма элементов последовательности

Цикл while

На вход программы поступает поток данных — последовательность целых чисел, которая заканчивается нулём (ноль не входит в последовательность).
Требуется найти сумму элементов этой последовательности.

Используйте шаблон программы из теоретической части, и оформите программу целиком

Входные данные:
на вход программе подаются числа, по одному числу в строке
Выходные данные:
выведите ответ на задачу
 

Обработка потока данных - 1

Цикл while

Дана непустая последовательность целых чисел, оканчивающаяся нулем. Ноль в последовательность не входит, служит признаком ее окончания. Найти сумму всех чисел последовательности, больших числа x

Входные данные: в первой строке задается число x, далее (со второй строки) задаются числа последовательности. Ноль - признак окончания ввода
Выходные данные: выведите ответ на задачу

Примеры

Входные данные Выходные данные
1 3
5
3
4
7
0
16

Анализ цифр числа - 16

Цикл while

В первой строке вводится чило n >=0
Вывести на экран
-  вывести на экран знаки >, если первая цифра больше последней
- знак <, если первая цифра меньше последней
- знак =, если первая и последние цифры равны

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545 <
 
2 44 =

Раздвоитель

Цикл while

Исполнитель “Раздвоитель” преобразует натуральные числа. У него есть две команды: “Вычесть 1” и “Разделить на 2”, первая команда уменьшает число на 1, вторая команда уменьшает число в два раза, если оно чётное, иначе происходит ошибка.

Дано два натуральных числа A и B (A>B). Напишите алгоритм для Развоителя, который преобразует число A в число B и при этом содержит минимальное число команд. Команды алгоритма нужно выводить по одной в строке, первая команда обозначается, как -1, вторая команда как :2.

Входные данные: Вводятся два натуральных числа A и B (по одному числу в строке).
Выходные данные: Выведите ответ на задачу.
Примеры
Входные данные Выходные данные
1 179
20
-1
:2
-1
:2
:2
-1
-1

Анализ цифр числа - 8

Цикл while

Дано натуральное число N (N<=109). Определить, сколько раз в нем встречается последняя цифра (без учета последней цифры).

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545 2
2 445 0

Двоичный логарифм

Цикл while

По данному натуральному числу N выведите такое наименьшее целое число k, что \(2^k >= N.\)

Операцией возведения в степень пользоваться нельзя!

Входные данные: Вводится натуральное число.
Выходные данные: Выведите ответ на задачу.

Примеры

Входные данные Выходные данные
1 7 3

Анализ цифр числа - 2

Цикл while

Дано натуральное число N (N<=109). Определить порядковый номер его минимальной цифры, считая от начала числа (если таких цифр несколько, то вывести номер первой из них)

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545 1
2 100 2

Анализ цифр числа - 3

Цикл while

Дано натуральное число N (N<=109). Определить порядковый номер его максимальной цифры, считая от начала числа (если таких цифр несколько, то вывести номер первой из них)

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545 2
2 100 1

Анализ цифр числа - 4

Цикл while

Дано натуральное число N (N<=109). Определить порядковый номер его максимальной цифры, считая от конца числа (если таких цифр несколько, то вывести номер первой из них)

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545 1
2 100 3

Вложенные циклы - 1

Цикл for Цикл while Циклы

Вводятся два числа N и K. Выведите количество чисел из диапазона от 1 до N (включительно) таких, что их сумма цифр делится на K.
 
Пример ввода
100 3
 
Пример вывода
33
 
Пример ввода
22 4
 
Пример вывода
5

Длина последовательности

Цикл while

Программа получает на вход последовательность целых неотрицательных чисел, каждое число записано в отдельной строке. Последовательность завершается числом 0, при считывании которого программа должна закончить свою работу и вывести количество членов последовательности (не считая завершающего числа 0). Числа, следующие за числом 0, считывать не нужно.

Входные данные: Вводится последовательность целых чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит).
Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 1
3
4
8
0
2
1
4

Анализ цифр числа - 6

Цикл while

Дано натуральное число N (N<=109). Определить, на сколько его максимальная цифра превышает минимальную

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545 1
2 111 0

Пробежка

Цикл while

В первый день спортсмен пробежал x километров, а затем он каждый день увеличивал пробег на 10% от предыдущего значения. По данному числу y определите номер дня, на который пробег спортсмена составит не менее y километров.

Входные данные: Программа получает на вход действительные числа x и y (по одному числу в строке)
Выходные данные: Программа должна вывести одно натуральное число.

Примеры
Входные данные Выходные данные
1 10
20
9

Числа Фибоначчи

Цикл while

Последовательность Фибоначчи определяется так:

\(\varphi_0=0, \varphi_1=1, ..., \varphi_{n}=\varphi_{n-1}+\varphi_{n-2}\).

По данному числу \(n\ge 1\) определите \(n\)-е число Фибоначчи \(\varphi_n\).

Входные данные: Вводится натуральное число n.
Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 6 8

Анализ цифр числа - 5

Цикл while

Дано натуральное число N (N<=109). Найти сумму его максимальной и минимальной цифр

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545 9
2 111 2

Анализ цифр числа - 17

Цикл while

В первой строке вводится чило n >= 0
Во второй строке вводится цифра  B и число k
Вывести на экран
- слово YES, если цифра B встречается в числе больше k раз
- слово NO, если цифра B встречается в числе менее k раз
- число k, если цифра B встречается ровно k раз

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545
5 6
NO
 
2 45545
5 3
3

Обрабатываем цифры числа - 3

Цикл while

Дано натуральное число N. Определить произведение его цифр, кратных z. 

Входные данные: вводятся два числа через пробел, сначала натуральное число N, затем - z (0< z <=9)
Выходные данные: выведите ответ на задачу

Примеры

Входные данные Выходные данные
1 432 2 8

Анализ цифр числа - 7

Цикл while

Дано натуральное число N (N<=109) и цифра k. Определить произведение цифр числа N, которые больше, чем k

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545
4
125
2 1235
2
15

Анализ цифр числа - 10

Цикл while

В первой строке вводится чило n >=0
Вывести на экран
-  первую цифру числа

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545 4

Анализ цифр числа - 1

Цикл while

Дано натуральное число N (N<=109). Определить порядковый номер его минимальной цифры, считая от конца числа (если таких цифр несколько, то вывести номер первой из них)

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545 2
2 100 1

Обрабатываем цифры числа - 2

Цикл while

Дано натуральное число N. Определить сумму его цифр, больших z. 

Входные данные: вводятся два числа через пробел, сначала натуральное число N, затем - z (0<=z<=9)
Выходные данные: выведите ответ на задачу

Примеры

Входные данные Выходные данные
1 432 2 7

Обработка вводимых чисел - 4

Цикл while

Вводится последовательность чисел до тех, пока не будет введено два равных числа подряд. Посчитать количество чисел в последовательности (включая два последних).
 
Пример входа
3 5 24 4 3 5 3 5 3 5 5
 
Пример вывода
11

Анализ цифр числа - 15

Цикл while

В первой строке вводится натуральное чило n 
Во второй строке вводится число B
Вывести на экран
-  слово YES, если само число и сумма его цифр кратны числу B
-  в противном случае вывести слово NO

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545 
5
NO
 
2 555
5
YES

Исполнитель Водолей

Цикл while

У исполнителя “Водолей” есть два сосуда, первый объемом A литров, второй объемом B литров, а также кран с водой. Водолей может выполнять следующие операции:

  1. Наполнить сосуд A (обозначается >A).
  2. Наполнить сосуд B (обозначается >B).
  3. Вылить воду из сосуда A (обозначается A>).
  4. Вылить воду из сосуда B (обозначается B>).
  5. Перелить воду из сосуда A в сосуд B (обозначается как A>B).
  6. Перелить воду из сосуда B в сосуд A (обозначается как B>A).

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

Входные данные: Программа получает на вход три натуральных числа A, B, N, не превосходящих 104.
Выходные данные: Необходимо вывести алгоритм действий Водолея, который позволяет получить в точности N литров в одном из сосудов, если же такого алгоритма не существует, то программа должна вывести текст Impossible.

Количество операций в алгоритме не должно превышать 105. Гарантируется, что если задача имеет решение, то есть решение, которое содержит не более, чем 105 операций.


Примеры
Входные данные Выходные данные
1 3
5
1
>A
A>B
>A
A>B
2 3
5
6
Impossible

Анализ цифр числа - 11

Цикл while

В первой строке вводится натуральное чило n 
Вывести на экран
-  произведение нечетных цифр числа
(считается, что хотя бы одна нечетная цифра в числе имеется)

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545 125

* Две самые большие цифры - 2

Цикл while

Дано натуральное число N (N<=109). Определить две самые большие цифры числа. 

Входные данные: на вход подается одно число 
Выходные данные: выведите две цифры через пробел, сначала наибольшую цифру числа, затем вторую по величине (не равную первой наибольшей цифре). Если число состоит из одинаковых цифр - выведите NO

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 45545 5 4
2 111 NO