1) Удалить повторяющиеся элементы и единицы.
2) Список пуст или состоит из одного элемента? вернуть "правда".
3) Выбрать среди элементов списка наименьший -- a
4) Заменить все элементы списка, кроме 'a', на частное от деления этого элемента на 'a'
5) При делении был ненулевой остаток? Вернуть"ложь"
6) Перейти к п. 1
как работает.
* единица -- не информативный элемент, поскольку любое число в нулевой степени -- 1, её можно исключить
* повторяющиеся элементы не информативны, можно оставить один из них
* если список состоит из степеней одного числа: b^k1, b^k2,... b^kn, то
1) На каждой итерации произведение элементов списка будет уменьшаться вплоть до прекращения работы алгоритма
2) список будет сохранять свое свойство уникальности основания степени
* если основания степени не уникальны, к какой-то момент остаток от деления окажется ненулевым
по суть на каждой итерации проверяется что наименьший элемент не равный 1 -- НОД для всего списка