Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
подготовка_к_олимпиаде._тур_10 [2013/11/14 22:54] Пронин Роман |
подготовка_к_олимпиаде._тур_10 [2013/11/15 17:11] (текущий) Пронин Роман |
||
---|---|---|---|
Строка 9: | Строка 9: | ||
^Пример ввода^Пример вывода^ | ^Пример ввода^Пример вывода^ | ||
|6\\ 10 5 3 15 6 8|5 3 8| | |6\\ 10 5 3 15 6 8|5 3 8| | ||
+ | |||
+ | **2. Иван-царевич** (Муниципальный этап, 2012) | ||
+ | |||
+ | Было у царя три сына. Двоих царь удачно женил на боярской да купеческой дочерях, а с младшим Иваном всё никак не ладилось. То в болоте стрела увязнет, а то и вовсе у лягушки окажется. Пока царевич эту стрелу отыщет, время-то бежит. Царь-то пока сын стрелы ищет, успел и науки всякие изучить и решил применить научный подход к поиску невесты сыну. Сказал он ему теперь пускать за один-то раз не одну стрелу, а сразу несколько. При этом царь задавал сыну следующие условия: Первую-то стрелу можно пускать куда глаза глядят, а вот последующие стрелы должны отклоняться от первоначального направления строго на заданный царем угол отклонения стрелы (0<α<180). При этом для экономии стрел царь категорически запретил Ивану-царевичу пускать стрелы повторно в одном и том же направлении. Написать программу, которая по заданному царем углу отклонения стрелы определит максимальное количество стрел, которые может пустить Иван-царевич за один раз, соблюдая требования царя. | ||
+ | |||
+ | ^Пример ввода^Пример вывода^ | ||
+ | |30|12| | ||
+ | |||
+ | **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) и выводит количество разложений данного числа на простые слагаемые. | ||
+ | ^Пример ввода^Пример вывода^ | ||
+ | |11|6| |