Темы --> Информатика --> Язык программирования
    Процедуры и функции(96 задач)
    Массивы(232 задач)
    Типы данных(356 задач)
    Циклы(177 задач)
    Условный оператор (if)(164 задач)
    Python(260 задач)
    Standard Template Library(2 задач)
---> 105 задач <---
Страница: << 15 16 17 18 19 20 21 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

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

Например, существует 7 разбиений числа 5 на слагаемые:

5 = 1 + 1 + 1 + 1 + 1

5 = 1 + 1 + 1 + 2

5 = 1 + 1 + 3

5 = 1 + 2 + 2

5 = 1 + 4

5 = 2 + 3

5 = 5

В приведенном примере разбиения упорядочены лексикографически — сначала по первому слагаемому в разбиении, затем по второму, и так далее. В этой задаче вам потребуется по заданному разбиению на слагаемые найти следующее в лексикографическом порядке разбиение.

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

Входной файл содержит одну строку — разбиение числа \(n\) на слагаемые (\(1 \le n \le 100 000\)). Слагаемые в разбиении следуют в неубывающем порядке.

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

Выведите в выходной файл одну строку — разбиение числа \(n\) на слагаемые, следующее в лексикографическом порядке после приведенного во входном файле. Если во входном файле приведено последнее разбиение числа \(n\) на слагаемые, выведите «No solution».

Примеры
Входные данные
5=1+1+3
Выходные данные
5=1+2+2
Входные данные
5=5
Выходные данные
No solution
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

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

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

Глядя на красивую таблицу результатов, Олег заинтересовался: а сколько еще задач смогут суммарно сдать команды так, чтобы после каждой сданной задачи таблица результатов оставалась красивой? Помогите ему выяснить это.

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

Первая строка входного файла содержит два целых числа: \(n\) и \(m\) — количество команд и количество задач на соревновании, соответственно (\(1 \le n \le 100\), \(1 \le m \le 10^9\)). Вторая строка содержит n целых чисел, упорядоченных по невозрастанию: для каждой команды задано, сколько задач она решила. Гарантируется, что все отличные от нуля числа являются делителями числа \(m\).

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

Выведите в выходной файл одно число: максимальное количество задач, которое суммарно могут еще сдать команды так, чтобы после каждой сданной задачи таблица результатов оставалась красивой.

Комментарий к примеру тестов.

В приведенном примере команды на 4 и 5 месте могут сдать по одной задаче, команда на 6 месте три, а команда на 7 месте — 4. Суммарно таким образом команды смогут сдать 9 задач

Примеры
Входные данные
7 12
12 6 4 3 3 1 0
Выходные данные
9
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Петя долго готовился к сдаче ЕГЭ по информатике. Он научился решать все задачи, и лишь задачу А12 ему научиться решать не удалось. Но он надеется тайно пронести на экзамен ноутбук, и просит вас написать программу, которая ему поможет. Вот как выглядит эта трудная задача в демоверсии варианта ЕГЭ 2010 года:

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

Вводятся \(4\) цифры в одной строке без пробелов – последовательность, содержащаяся в SMS-сообщении в реальном варианте ЕГЭ вместо 3182 в демоверсии.

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

Выведите код цифрового замка без пробелов.

Примеры
Входные данные
0586
Выходные данные
53
#2763
  
Темы: [Строки]
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Двое играют в такую игру. Первый называет число, затем второй называет число. Если число второго больше, то он выиграл, в противном случае (даже если числа равны), выиграл первый. Помогите второму игроку – напишите программу, которая будет за него успешно играть в эту игру.

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

Вводится натуральное число \(A\), которое назвал первый игрок (в числе \(А\) не больше \(100\) цифр).

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

Выведите одно натуральное число – какой-нибудь (любой!) выигрышный ход второго игрока.

Примеры
Входные данные
1
Выходные данные
Входные данные
1000000000000000
Выходные данные
#2764
  
Темы: [Цикл for]
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Вася учится делить с остатком. Он взял некоторое число, разделил его на \(2\) и отбросил остаток. То, что получилось, разделил на \(3\) и опять отбросил остаток. Полученное число он разделил на \(4\), отбросил остаток и получил число \(K\). Какое число мог выбрать Вася изначально?

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

Вводится натуральное число \(K\), не превосходящее \(1 000\).

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

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

Примеры
Входные данные
1
Выходные данные
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 

Страница: << 15 16 17 18 19 20 21 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест