Серия 0
a) a, b ---> a + b
б) N ---> Если N кратно 7, то вывести "Multiply 7".
в) N ---> (1+...+N) (-1000 <= N <= 1000)
в*) N ---> (1+...+N) (-3*10^8 <= N <= 3*10^8)
г) N, a1, a2, .. aN ---> Summ(a1..aN)
д) N чисел ---> количество чисел 30
е) N чисел ---> (min + max) / 2
ё) N чисел ---> Сколько чисел до первого числа 30?
Серия 1
а) НОД 2-х чисел (1 <= a, b <= 10^9)
б) НОК 2-х чисел (без переполнения) (НОК(a, b) <= 10^9)
в) НОД N чисел
г) НОК N чисел
Серия 2
а) A, N ---> Число чисел от 1 до N, делящихся на A (1 <= N <= 10^9)
б) A, N ---> Число чисел от 1 до N, не делящихся на A (1 <= N <= 10^9)
в) A, B, N ---> Число чисел от 1 до N, не делящихся ни на A, ни на B (1 <= N <= 10^9)
г) P, L, R ---> Число чисел от L до R кратных P. (1 <= P, L, R <= 10^9 )
д) N ---> N! (1 <= N <= 13)
е) N ---> Число нулей на конце N! (1 <= N <= 10^9)
Серия 3
Замечание: нельзя пользоваться пакетом math.h
а) N ---> простое или нет? (1 <= N <= 10^9)
б) число простых на отрезке от L до R (1 <= L, R <= 50 000)
б***) число простых на отрезке от L до R (1 <= L, R <= 500 000) (требуется знание массивов, битового сжатия и решета Эратосфена =)
в) N ---> разложение на простые (1 <= N <= 10^9)
в формате {Pi, Ai} на отдельных строках, все Pi строго возрастают.
Пример:
N=60
2 2
3 1
5 1
Серия 4
Замечание: нельзя пользоваться пакетом math.h
а) N ---> число таких пар a, b : a^2 + b^2 = N (N <= 1000)
б) N <= 10^6
в) N <= 10^9
Серия 5
а) Найти длину пересечения двух отрезков на прямой
б) Найти длину объединения двух отрезков на прямой
в) Найти площадь пересечения двух прямоугольников
г) Найти площадь объединения двух прямоугольников
Серия 6 - Файлы, массивы
а) Из файла input.txt считать 2 числа, в файл output.txt вывести их сумму
б) Из файла input.txt считать все числа (количество чисел заранее не известно), в файл output.txt вывести их сумму
в) Файл input.txt скопировать в файл output.txt
г) Из файла input.txt считать все числа. В файл output.txt вывести эти числа в обратном порядке.
д) Из файла input.txt считать все числа. В файл output.txt вывести сперва все числа стоящие на четных позициях, затем все на нечетных.
Пример: 1 2 3 4 5 6 7 ----> 2 4 6 1 3 5 7
Серия 7 - Задачи на массивы
В этой серии входные данные нужно читать из файла input.txt, выходные выводить в output.txt
а) Даны N <= 100 чисел и K <= 100 запросов вида "есть ли среди этих N чисел число X". На каждый запрос вывести YES или NO.
б) Даны N <= 100 чисел и число K. Нужно найти среди данных N такие 2 числа, что их сумма равна K.
в) Даны N <= 100 чисел. Нужно их отсортировать в порядке по неубыванию.
г) Даны N <= 100 чисел. Нужно определить, какое из них чаще всех встречается.
д) Даны N <= 30000 чисел от 1 до 100. Нужно их отсортировать.
Серия 8 - Рисование
а) Дано число N, нарисовать вот такой квадратик из чисел от 1 до N^2:
1 2 3
4 5 6
7 8 9
б) Вот такой:
1 4 7
2 5 8
3 6 9
в) Вот такой:
1  2  4  7
3  5  8  11
6  9  12 14
10 13 15 16
г) Вот такой:
1  2  3  4
12 13 14 5
11 16 15 6
10 9  8  7
д*) Нарисовать магический квадрат - расставить в квадрате 4Nx4N все числа от 1 до (4N)^2 таким образом, чтобы суммы чисел на всех горизонталях и вертикалях были бы равны.
е*) ..., чтобы суммы чисел на всех горизонталях, вертикалях и двух диагоналях равны были бы равны.
Серия 9 - Про строки
а) Дана строка S, вывести все её подстроки.
б) Проверить, является ли строка палиндромом.
Пример: abacaba ---> YES
в) Посчитать, сколько различных символов использовалось в строке.
Пример: aaabbccccccbac ---> 3
г) Найти минимальный период строки.
Пример: ababab ---> 2
д) Даны N строк, нужно отсортировать их лексикографически.
е) Дана строка, все маленькие латинские буквы заменить на большие и наоборот.
ж*) Дано N строк. Нужно склеить их в каком-то порядке так, чтобы получилось лексикографически минимальная строка.
Комментарий: модулем string.h пользоваться пока нельзя, строкой называется последовательность непробельных символов.
Серия 10 - Про чтение данных
a) Считать целое число посимвольно.
b) Считать вещетсвенное число посимвольно.
c) Проверить, что IP-адреса с заданными масками лежат в одной подсети.
Комментарий: IP-адреса имеют вид a0.a1.a2.a3, маски m0.m1.m2.m3 (все числа от 1 до 255)
лежат в одной подсети - значит маски совпадают и a[i] xor m[i] = A[i] xor M[i] (i=0..3)

Бонусная серия. Для тех, кому нечего делать.
а) Timus, 1011, Кондукторы
б) Timus, 1120, Сумма последовательных чисел
в) Timus, 1131, Копирование
Часть 2:
г) Timus, 1005, Кучки камней
д) Timus, 1079, Максимум
е) Timus, 1225, Flags