РГР задания

Упорядоченные дроби
Вывести в порядке возрастания все несократимые дроби, заключённые между 0 и 1, знаменатели которых не превышают N.
Ввод
В первой строке находится единственное число N(2
·N
·255).
Вывод
В каждой строке выводится дробь.

Метаморфозы
Возьмем два слова одинаковой длины, например, SEAT и TALE, запишем их друг под другом, и будем выполнять следующие преобразования. Заменим сначала все вхождения первой буквы второго слова во втором слове на первую букву первого слова, а все вхождения первой буквы первого слова в первом слове на первую букву второго слова. Аналогично, все вхождения второй буквы второго слова во втором слове на вторую букву первого слова, а все вхождения второй буквы первого слова в первом слове на вторую букву второго слова. То же делаем и для третьей пары букв обоих слов, и так далее для всех букв слева направо.
SEAT TEAT TAAT TLLT ELLE
TALE SALE SELE SEAE STAT
Напишите программу, которая для пары заданных слов определяет конечный результат преобразований.
Во входном файле содержатся две строки. В каждой строке содержится одно слово длиной не более 100 букв, состоящее из прописных латинских букв от A до Z. Оба слова имеют одинаковую длину.
В выходной файл вывести две строки, содержащих конечный результат преобразований. В первой строке вывести преобразованное первое слово, а во второй строке – второе слово.

Простые числа
Вывести все простые числа от M до N включительно.
Ввод
В первой строке находятся разделённые пробелом M и N (1
·M
·N
·1000000).
Вывод
Вывести числа в порядке возрастания, по одному в строке. Если между M и N включительно нет простых – вывести "Absent".

Перестановки
Дана строка, состоящая из M символов. Вывести все перестановки символов данной строки.
Ограничения: 2
·M
·8, символы – буквы латинского алфавита и цифры.
Ввод
В первой строке файла находится исходная строка.
Вывод
Вывести в каждой строке файла по одной перестановке. Перестановки можно выводить в любом порядке. Повторений и строк, не являющихся перестановками исходной, быть не должно.
Пример ввода
AB
Пример вывода
AB
BA

Возрастающая последовательность
Даны N целых чисел X1,X2,,XN. Требуется вычеркнуть из них минимальное количество чисел так, чтобы оставшиеся шли в порядке возрастания.
Ограничения: 1
·N
·10000,1
·Xi
·60000.
Ввод
В первой строке находится число N. В следующей строке – N чисел через пробел.
Вывод
В первой строке выводится количество невычеркнутых чисел, во второй – сами невычеркнутые числа через пробел в исходном порядке. Если вариантов несколько, вывести любой.
Пример ввода
6
2 5 3 4 6 1
Пример вывода
4
2 3 4 6

Степень
Для натуральных чисел a и n вычислить an.
Ограничения: 1
·a
·9,1
·n
·7000.
В первой строке ввода находятся разделённые пробелом a и n.
Выводится одно число – результат без стоящих впереди нулей, стоящих впереди и позади пробелов.
Пример ввода
3 20
Пример вывода
3486784401

Треугольник и точка
В декартовой системе координат на плоскости заданы координаты вершин треугольника и ещё одной точки. Определить, принадлежит ли эта точка треугольнику.
Ограничения: координаты вершин – целые числа, для любой точки выполняются следующие условия:
·10000
·x,y
·10000.
Ввод
В четырёх строках находятся пары чисел – координаты точек. Числа в первых трёх строках – это координаты вершин треугольника, в четвёртой строке – координаты тестируемой точки.
Вывод
Вывести слово "In", если точка находится внутри треугольника, или "Out" – если снаружи.

Разложение на простые множители
Вывести представление целого числа N в виде произведения простых чисел.
Ввод
В первой строке находится единственное число N(2
·N
·231
·1).
Вывод
Выводится список чисел в порядке неубывания, разделённых знаком "*".
Пример ввода 1
5
Пример вывода 1
5
Пример ввода 2
30
Пример вывода 2
2*3*5

Маршрут
В таблице из N строк и N столбцов клетки заполнены цифрами от 0 до 9. Требуется найти такой путь из клетки (1, 1) в клетку (N,N), чтобы сумма цифр в клетках, через которые он пролегает, была минимальной; из любой клетки ходить можно только вниз или вправо.

Ввод
В первой строке находится число N(2
·N
·250). В следующих N строках содержатся по N цифр без пробелов.
Вывод
Выводятся N строк по N символов. Символ решётка показывает, что маршрут проходит через эту клетку, а минус – что не проходит. Если путей с минимальной суммой цифр несколько, вывести любой.
Пример ввода
3
943
216
091
Пример вывода
#--
###
--#

Скобки
Определить, является ли правильной последовательность из N круглых, квадратных и фигурных скобок, т.е. соответствует ли каждой открывающей скобке закрывающая и правильно ли они вложены.
Ввод
В первой строке находится число скобок N(1
·N
·100000), во второй – N символов из набора (, ), [, ], {, }.
Вывод
Выводится слово "Yes", если последовательность является правильной, или "No", если нет.
Пример ввода 1
6
([())]
Пример вывода 1
No
Пример ввода 2
24
{[()([]{})[]]({}{{}})}[]
Пример вывода 2
Yes

Разложение на слагаемые
Вывести все представления натурального числа N суммой натуральных чисел. Перестановка слагаемых нового способа представления не даёт.
Ввод
В первой строке находится единственное число N(2
·N
·40).
Вывод
В каждой строке выводится одно из представлений. В сумме слагаемые разделяются знаком "+".
Пример ввода
4
Пример вывода
1+1+1+1
1+2+1
1+3
2+2

Слияние чисел
Слить два натуральных числа в новое число, вставив цифры одного числа между цифрами другого числа, сохранив при этом порядок следования цифр в исходных числах. Новое число должно быть максимальным из всех возможных.
Ввод
Во входном файле содержатся две строки, в каждой строке по одному натуральному числу длиной до 100 цифр.
Вывод
В выходной файл вывести полученное при слиянии число, максимальное из возможных.
Пример ввода
20
4181
Пример вывода
421810

День рождения
Заданы день и месяц рождения, а также текущие день, месяц и год. Определить, сколько дней осталось до дня рождени
·я. Високосные годы – это те, номер которых делится на 400, а также те, номер которых делится на 4, но не делится на 100.
Ограничения: год от 1920 до 3000, месяц – от 1 до 12, день – от 1 до числа дней в месяце.
Ввод
В первой строке находятся разделённые пробелами день и месяц рождения, во второй – разделённые пробелами текущие день, месяц и год.
Вывод
Вывести число дней, оставшихся до дня рождения.
Пример ввода 1
19 04
19 04 2002
Пример вывода 1
0
Пример ввода 2
05 05
19 04 2002
Пример вывода 2
16

Поиск совпадений
Даны два текста. Найти все слова, которые встречаются в обоих текстах сразу. Словом будем называть последовательность из прописных и строчных латинских букв (максимальная длина слов – 50 символов). Регистр букв игнорируется.
x-ray состоит из 2 слов X и RAY
Mary's состоит из 2 слов MARY и S
Ввод
В первой строке входного файла содержится первый текст, во второй строке – второй текст. Длина любого из текстов не превышает 100000 символов.
Вывод
В первой строке выходного файла перечислить в лексикографическом порядке все слова, встречающиеся в обоих текстах сразу, разделяя их одним пробелом. Слова выводятся строчными буквами. Если таких слов нет, вывести пустую строку.
Пример ввода
The tail wagging the dog.
The quick fox jumped over the lazy brown dog.
Пример вывода
dog the

Счастливые перестановки
Найти число "счастливых" перестановок среди перестановок цифр числа 12345678. В счастливой перестановке сумма 4 первых цифр должна быть равна сумме 4 последних цифр.
Ввод и вывод
Входного файла нет. В выходной вывести результат.

Шпионы
Какое может быть минимальное число жителей в городе, где шпионами являются по оценкам от P% до Q% населения?
Ввод
Во входном файле содержатся числа P и Q (1
· P < Q
· 99), разделенные пробелом. Числа P и Q могут быть заданы с точностью до пяти десятичных знаков включительно.
Вывод
В выходной файл в первой строке вывести минимальное число жителей города.
Пример входа
13 14.10000
Пример выхода
15

Проблема Гольдбаха
В 1742 г. Христиан Гольдбах, немецкий математик-любитель, послал письмо Леонарду Эйлеру, в котором он сделал предположение, что всякое целое число, большее и равное шести, может быть представлено в виде суммы трех простых чисел. В ответ Эйлер заметил, что для решения этой задачи достаточно доказать, что каждое четное число есть сумма двух простых. К настоящему времени удалось доказать, что всякое достаточно большое нечетное число представляется в виде суммы трех простых чисел, а задача о разбиении четного числа на сумму двух простых еще не решена.
Ваша задача – проверить предположение Гольдбаха для некоторых чисел от 6 до 1000000 (как четных, так и нечетных).
Ввод
Во входном файле содержится несколько (до 1000) строк, в каждой строке задается одно целое число от 6 до 1000000. Конец списка чисел завершается строкой с числом 0.
Вывод

В выходной файл вывести для каждого числа разложение в виде суммы трех простых чисел, как показано в примере. Если возможно несколько разложений, то вывести одно из них. Если разложения не существует, то вывести сообщение "Для числа X гипотеза Гольдбаха неверна". Для завершающей строки с числом 0 в выходной файл ничего не выводить.
Пример ввода
44
6
13
0
Пример вывода
44=2+5+37
6=2+2+2
13=3+5+5

Площадь прямоугольников
Дано N прямоугольников со сторонами, параллельными осям координат. Требуется определить площадь фигуры, образованной объединением данных прямоугольников.
Ввод
В первой строке находится число прямоугольников – N(1
·N
·100). Затем идут N строк, содержащих по 4 числа: x1,y1,x2,y2 – координаты двух противоположных углов прямоугольника. Координаты целые и по абсолютному значению не превосходят 10000.
Вывод
Вывести одно число – площадь фигуры.
Пример ввода
2
1 1 3 3
2 2 4 4
Пример вывода
7

Разложение на простые слагаемые
Любое целое число большее 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·5000) и выводит количество разложений данного числа на простые слагаемые.
Пример ввода
11
Пример вывода
6

Подарки
Ириска весит X грамм, мандарин – Y грамм, пряник – Z грамм. Сколько различных вариантов подарков весом ровно W грамм может сделать Дед Мороз?
В первой строке входного файла содержатся четыре целых числа X, Y, Z и W (1
·X,Y,Z
·100, 1
·W
·1000), разделенных пробелами.
В первой строке выходного файла вывести одно целое число – число вариантов подарков.
Пример ввода
10 25 15 40
Вывод для примера
3

Недомино
Игра между двумя игроками. Дана последовательность из N положительных целых чисел (N – четное число). Игроки ходят по очереди. Ход заключается в том, что игрок выбирает число, расположенное на левом или на правом конце последовательности. Выбранное число стирается. Игра заканчивается, когда чисел не останется. Первый игрок выигрывает, если сумма выбранных им чисел не меньше, чем сумма чисел, выбранных вторым игроком. Первый игрок всегда ходит первым. Известно, что у первого игрока есть простая выигрышная стратегия, не требующая большого перебора вариантов.
Требуется написать программу, которая реализует выигрышную стратегию первого игрока, т.е. советует левое или правое число следует выбрать.
В первой строке ввода содержится четное целое число N (2
· N
· 32000), во второй строке N целых чисел от 1 до 32000.
Вывести "LEFT", если первым ходом нужно взять левое число, или "RIGHT", если правое.
Пример ввода
4
4 2 6 3
Пример вывода
LEFT
15

Приложенные файлы

  • doc 302231
    Размер файла: 55 kB Загрузок: 0

Добавить комментарий