Инструменты пользователя

Инструменты сайта


подготовка_к_олимпиаде._тур_10

1. «Простые» числа (Муниципальный этап, 2012)

Дан набор различных натуральных чисел. Будем называть число «простым для заданного набора», если число не делится ни на одно из чисел набора, кроме самого себя.

Во входном файле в первой строке содержится целое число N (1⇐N⇐100)– количество чисел в наборе. Во второй строке файла содержатся N различных целых чисел от 1 до 1000000, разделенных пробелами.

В выходной файл вывести «простые для заданного набора» числа, разделяя числа одним пробелом. Числа выводятся в том порядке, в котором они шли во входном файле.

Пример вводаПример вывода
6
10 5 3 15 6 8
5 3 8

2. Иван-царевич (Муниципальный этап, 2012)

Было у царя три сына. Двоих царь удачно женил на боярской да купеческой дочерях, а с младшим Иваном всё никак не ладилось. То в болоте стрела увязнет, а то и вовсе у лягушки окажется. Пока царевич эту стрелу отыщет, время-то бежит. Царь-то пока сын стрелы ищет, успел и науки всякие изучить и решил применить научный подход к поиску невесты сыну. Сказал он ему теперь пускать за один-то раз не одну стрелу, а сразу несколько. При этом царь задавал сыну следующие условия: Первую-то стрелу можно пускать куда глаза глядят, а вот последующие стрелы должны отклоняться от первоначального направления строго на заданный царем угол отклонения стрелы (0<α<180). При этом для экономии стрел царь категорически запретил Ивану-царевичу пускать стрелы повторно в одном и том же направлении. Написать программу, которая по заданному царем углу отклонения стрелы определит максимальное количество стрел, которые может пустить Иван-царевич за один раз, соблюдая требования царя.

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

3. Палиндром (Муниципальный этап, 2012)

Палиндромом называется строка, которая читается одинаково слева направо и справа налево. Например, 1001 – палиндром, 1010 – нет. Напишите программу, которая превращает любую строку из 0 и 1 в палиндром, добавляя в нее минимальное количество новых символов. Добавлять новые символы можно слева, справа и внутрь строки. Вводится строка длиной не более 100 символов, состоящая только из 0 и 1.

Вывести в первой строке количество добавленных символов, во второй строке – получившийся палиндром. Если существует несколько вариантов, вывести вариант, который идет раньше в лексикографическом порядке.

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

4. Подмножества (Муниципальный этап, 2010)

Возьмем все непустые различные подмножества из некоторого набора букв и упорядочим их в алфавитном порядке: сначала буквы внутри подмножеств, а затем сами подмножества. Например, из набора букв AABC получаются следующие подмножества после записи их в алфавитном порядке A, AA, AAB, AABC, AAC, AB, ABC, AC, B, BC, C.

Ввести последовательность букв (до 30 прописных латинских букв) и номер подмножества в упорядоченном списке подмножеств.

Вывести подмножество с соответствующим номером.

Пример вводаПример вывода
AABC
5
AAC

5. Разложение на простые слагаемые (Муниципальный этап, 2010)

Любое целое число большее 1 можно единственным способом представить в виде произведения простых множителей (если перечислять множители в неубывающем порядке). Но если попытаться представлять целые числа в виде суммы простых слагаемых (также в неубывающем порядке), то таких разложений окажется несколько. Например, для числа 11 есть 6 таких разложений: 11=11, 11=2+2+7, 11=3+3+5, 11=2+2+2+5, 11=2+3+3+3, 11=2+2+2+2+3. Напишите программу, которая вводит натуральное число N (1<N≤5000) и выводит количество разложений данного числа на простые слагаемые.

Пример вводаПример вывода
116
/home/m/mvgoru/wiki.gumnasion.ru/public_html/data/pages/подготовка_к_олимпиаде._тур_10.txt · Последние изменения: 2013/11/15 17:11 — Пронин Роман