Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Напишите программу, которая в возрастающем порядке выводит все числа-палиндромы из отрезка [A, B], у которых сумма делителей кратна сумме цифр.



Задача A. Палиндромы

Напишите программу, которая в возрастающем порядке выводит все числа-палиндромы из отрезка [A, B], у которых сумма делителей кратна сумме цифр.

Формат входных данных

Вводятся два целых числа A, B (1 ≤ A ≤ B ≤ 30000).

Формат выходных данных

Выведите через пробел числа, удовлетворяющие условию задачи.

Примеры

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

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

50 150

66 101 141

 

Задача B. Перемещение фрагмента

Задан массив целых чисел размера N, а также три числа – S, L и M. Числа S и L описывают фрагмент массива: S – индекс элемента массива, с которого начинается фрагмент, L – количество элементов в фрагменте. Число M задает индекс некоторого элемента массива (оно может также принимать значение N, указывая на несуществующий элемент непосредственно после последнего элемента массива). Требуется переместить данный фрагмент так, чтобы он оказался непосредственно перед указанным элементом, как будто его вырезали из массива, а затем вставили перед нужным элементом. (Примечание: число M содержит индекс, который был у элемента до начала всех действий по перемещению).

Формат входных данных

В первой строке вводится целое число N (1 ≤ N ≤ 100000) — количество элементов массива. Во второй строке заданы N целых чисел — элементы массива (из диапазона int). В третьей строке заданы три числа S, L и M, для которых выполняются следующие ограничения:

1) 0 ≤ S < S + L ≤ N;

2) 0 ≤ M ≤ S или S + L ≤ M ≤ N.

Формат выходных данных

Выведите массив после выполнения операции перемещения.

Технические требования

Решение задачи должно содержать функцию, которая получает в качестве параметров указатель на первый элемент массива, его длину и числа S, L и M. Результатом работы функции должно быть преобразование массива в соответствии с условиями задачи. Ввод и вывод должен осуществляться только в функции main. В решении разрешается использовать только один массив на 100000 элементов. Использовать дополнительные массивы запрещено.

Примеры

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

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

1 2 3 4 5 6 7

2 3 6

1 2 6 3 4 5 7

1 2 3 4 5 6 7

2 3 1

1 3 4 5 2 6 7

 

Задача C. Юникод

Для поддержки символов различных языков в информационно-вычислительных системах используется стандарт Юникод. Он определяет универсальный набор символов с соответствующими им числовыми кодами, а также семейство кодировок для машинного представления этих кодов. Коды всех символов Юникода находятся в диапазоне от 0 до 10FFFF16 включительно. Кодировка UTF-8 позволяет записывать коды символов Юникода в виде последовательности байтов. Количество байтов в последовательности может быть разным и зависит от конкретного значения числового кода. Коды от 0 до 7F16 включительно записываются с помощью одного байта, значение которого совпадает с кодом. Коды от 8016 до 7FF16 включительно записываются двумя байтами: старшие три бита первого байта содержат значение 1102, остальные пять битов первого байта содержат старшие 5 битов кода; старшие два бита второго байта содержат значение 102, остальные шесть битов первого байта содержат младшие 6 битов кода. Кодирование остальных кодов использует тот же принцип и показано в следующей таблице.



Размер

Диапазон кодов

1-й байт

2-й байт

3-й байт

4-й байт

 

0 – 7F16

0xxxxxxx

 

 

 

 

8016 – 7FF16

110xxxxx

10xxxxxx

 

 

 

80016 – FFFF16

1110xxxx

10xxxxxx

10xxxxxx

 

 

1000016 – 10FFFF16

11110xxx

10xxxxxx

10xxxxxx

10xxxxxx

Требуется по заданной последовательности байтов определить, является ли эта последовательность корректным представлением одного символа Юникода в UTF-8, и если является, определить его код. Последовательность считается некорректной если:

· первый или последующие байты содержит некорректное значение старших битов;

· количество дополнительных байтов больше или меньше ожидаемого;

· декодированный код можно представить более короткой последовательностью байтов, чем была использована;

· декодированныйкод превышает значение 10FFFF16.

Формат входных данных

Вводится последовательность целых неотрицательных чисел из диапазона от 0 до 255 включительно.

Формат выходных данных

Выведите код символа или -1, если последовательность некорректная.

Примеры

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

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

   

194 162

 

226 130 172

 

240 164 173 162

 

244 144 128 128

-1

 

Задача D. Самый частый элемент

Задана последовательность целых чисел из диапазона int. Известно, что одно число в этой последовательности встречается чаще, чем все остальные вместе взятые. Требуется определить это число.

Формат входных данных

Вводится последовательность целых чисел из диапазона int, удовлетворяющая условию задачи. Последовательность имеет ненулевую длину.

Формат выходных данных

Выведите искомое число.

Технические требования

Использовать массивы в решении запрещено (объём используемой памяти не должен зависеть от количества элементов в последовательности).

Примеры

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

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

1 2 1 1 3 4 1

 

 


Дата добавления: 2015-09-29; просмотров: 41 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Вариант решения проблемы | В городе, в котором живут друзья Андрей и Борис, метро состоит из единственной кольцевой линии, вдоль которой на равном расстоянии друг от друга расположены n станций, пронумерованных от 1 до n.

mybiblioteka.su - 2015-2024 год. (0.01 сек.)