|
|
От: | foxafox | |
| Дата: | 26.12.18 22:37 | ||
| Оценка: | |||
std::set<unsigned> solve_set(unsigned A, unsigned P, unsigned L, unsigned R)
{
std::set<unsigned> res;
unsigned x = 1;
do
{
x = (std::uint64_t) x * A % P;
if (x >= L && x <= R)
{
if (!res.insert(x) .second)
break;
}
}
while (x != 1);
return res;
}