Требования: Написать на C++ программу, выполняющую описанные ниже действия.
Пусть с клавиатуры вводятся три целых числа k, r, s, однозначно задающие группу Gk(r,s), которая имеет представление Gk(r,s) = , где r делит ks-1. Затем вводятся два целых числа бета и альфа причем 0 ≤ бета < s, 0 ≤ альфа< r, которые задают каноническую форму записи элемента g группы Gk(r,s) (каноническую запись см. [2, п. 1.2, задача № 17]), то есть элемент g вводится в канонической форме записи. Для записи элемента группы Gk(r,s) использовать структуру данных, которая имеет два поля, в первом из них хранится показатель степени образующего b, во втором – показатель степени образующего a (в канонической форме записи элемента).
Составить и реализовать алгоритм, позволяющий вычислить по вводимому с клавиатуры натуральному числу n и элементу g принадлежит Gk(r,s) элемент x принадлежит Gk(r,s) такой, что xn = g, то есть позволяющий определить, разрешимо ли уравнение xn = g (относительно неизвестной x) в группе Gk(r,s).
Литература:
1. Липпман Стенли Б., Лажойе Жози, Му Барбара Э. Язык программирования C++. Базовый курс, 5-е изд.: Пер. с англ. – М.: ООО «И. Д. Вильямс», 2014.
2. Магнус В., Каррас А., Солитэр Д. Комбинаторная теория групп. – М.: Наука, 1974.