Подразделы

Другие разделы

Дата и время

11/09/2026 01:02:12

Авторизация

Имя:
Пароль:
Зарегистрироваться
Восстановить пароль
 

printЗадачи очного тура личного первенства 2011

printA. Суперпростые числа

Ограничения: время – 200ms/400ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Назовем число из `n` цифр `a_1\ a_2\ …\ a_n` суперпростым, если числа `a_1\ a_2\ …\ a_k` являются простыми для всех `k` от 1 до `n` включительно.
Найдите все суперпростые числа, состоящие из `n` цифр.
Ввод содержит одно целое число `n` (`1\ ≤\ n\ ≤\ 9`).
Вывести все суперпростые числа из `n` цифр в порядке возрастания, по одному числу в строке. Если ни одного суперпростого числа из `n` цифр не найдено, то вывести сообщение "NO SOLUTION" (без кавычек).

Пример ввода

2

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

23
29
31
37
53
59
71
73
79

printB. Преобразования

Ограничения: время – 200ms/400ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

С натуральным числом, записанном в десятичной системе счисления, разрешается делать следующие операции:
  1. дописать в конце цифру 0;
  2. дописать в конце цифру 4;
  3. разделить на 2 (если число четное).
Напишите программу, которая находит способ получения с помощью этих операций из числа 2 заданного числа `N`.
Ввод содержит одно целое число `N` (`1\ ≤\ N\ ≤\ 10^9`).
Вывести последовательность операций, в результате применения которых получается заданное число `N` (можно вывести любую последовательность, не обязательно кратчайшую, но количество операций не должно превышать 256). Если получить число `N` невозможно, то вывести сообщение "NO SOLUTION" (без кавычек).

Пример ввода

104

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

CAB

printC. Игра

Ограничения: время – 200ms/400ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Есть `N` кучек камней. Двое играющих поочередно берут камни из кучек. Во время хода можно взять любое количество камней из не более чем `K` кучек, и по крайней мере один камень из какой-то кучки должен быть взят. Выигрывает тот, кто возьмет последний камень.
Напишите программу, которая для заданного распределения камней по кучкам определяет, может ли игрок, делающий первый ход, выиграть и какой ход он должен сделать, чтобы выиграть.
Первая строка ввода содержит два целых числа `N` и `K` (`1\ ≤\ K\ <\ N\ ≤\ 100`). Вторая строка содержит `N` целых чисел в диапазоне от 1 до 10000 – количество камней в кучках.
Вывести в первой строке сообщение "YES", если начинающий игрок может выиграть, иначе сообщение "NO". Во второй строке в случае положительного ответа вывести `N` целых чисел – сколько камней нужно взять из соответствующей кучки. Можно вывести любой вариант выигрышного хода.

Пример ввода 1

4 2
10 5 10 15

Пример вывода 1

YES
0 5 0 5

Пример ввода 2

2 1
10 10

Пример вывода 2

NO

printD. Наибольшее число

Ограничения: время – 200ms/400ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Среди `n`-значных чисел, в десятичной записи которых нет цифры 0, найти число, для которого разность между самим числом и произведением его цифр максимальна.
Ввод содержит одно целое число `n` (`1\ ≤\ n\ ≤\ 10000`).
Вывести в первой строке найденное `n`-значное число с указанными свойствами. Если существует несколько таких чисел, то можно вывести любое из них.

Пример ввода

2

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

91