Многие спортивные соревнования по информатике нуждаются в оригинальных олимпиадных задачах высокого качества. В статье представлен один из подходов по составлению алгоритмических разноуровневых задач по теории чисел. Для их решения используются различные алгоритмы, зависящие в первую очередь от размерности задачи. Все представленные алгоритмы имеют элементарную структуру и доступны для понимания школьникам и студентам, то есть основным группам участников соревнований по программированию. Рассмотренные в статье задачи перечисления упорядоченных наборов натуральных чисел с заданным наибольшим общим делителем и наименьшим общим кратным обладают тесными связями с известными арифметическими функциями. Большинство примеров в статье взяты из практики одного из престижных командных соревнований по олимпиадному программированию - Открытого кубка им. Е.В.Панкратьева (этап "Гран-При Татарстан"). Полные тексты всех этих задач доступны в Интернете: http://codeforces.com/gym/100942?locale=ru.
There are many different competitions in the field of informatics with different objectives. In spite of these differences, they all share the same need for high quality tasks. This paper describes the algorithmic tasks of number theory of different levels of difficulty. Most tasks are used in the specific scope of teaching and learning informatics. In this paper we consider the problems of enumerating the number of ordered tuples of positive integers with fixed greatest common divisor and least common multiple, and we analyze the some properties of the resulting arithmetic functions. The important feature of these tasks is that they are multilevel tasks. They assume to use solution algorithms of various complexity which depend on dimension of the task. All algorithms we present have low sample complexity that depends only on the input parameters. Many of the examples in this paper are taken from the Open Cup named after E.V. Pankratiev (Grand-Prix of Tatarstan). Full texts for all of these problems are available on the Internet: http://codeforces.com/gym/100942?locale=en . We hope that some classes of such tasks would enlarge scope of tasks for use in programming contests at various levels.