Определения
Квадратичные остатки
Целое число называется квадратичным вычетом по модулю если существует такое целое число , что:
Последовательность вызова
Мы определяем как минимальное количество вхождений одного и того же значения для всех пар квадратичных вычетов по модулю .
Первые 30 терминов:
Это A316975 (представленный мной).
Пример:
Квадратичные вычеты по модулю равны , , , , и .
Для каждой пары этих квадратичных вычетов мы вычисляем , что приводит к следующей таблице (где слева, а сверху):
Минимальное количество вхождений одного и того же значения в приведенной выше таблице равно (для , , и ). Следовательно, .
Твое задание
Вы можете либо:
- возьмите целое число и напечатайте или верните (0-индексированный или 1-индексированный)
- взять целое число и вывести или вернуть первых членов последовательности
- не вводите и печатайте последовательность навсегда
- Ваш код должен быть в состоянии обработать любое из 50 первых значений последовательности менее чем за 1 минуту.
- Если у вас достаточно времени и памяти, ваш код теоретически должен работать для любого натурального числа, поддерживаемого вашим языком.
- Это код-гольф .
+n
внутри (...)mod n
не имеет никакого эффекта? Если так, то это очень странно, это часть определения.
(some_potentially_negative_value + n) mod n
.) Я думаю, что лучше иметь это в программировании, хотя, так как знак результата зависит от языка .
a_p = round(p/4)
, что дает нам значения для всех квадратичных чисел. Но ситуация кажется сложной по степеням простых чисел, и случаи 3 mod 4 и 1 mod 4 необходимо обрабатывать отдельно.