Кнодельские числа
Числа Кнёделя представляют собой набор последовательностей. В частности, число Knodel для положительного целого числа nпредставляют собой набор составных чисел m, таким образом, что все i < m, взаимно простое с m, удовлетворяют условию i^(m-n) = 1 (mod m). Множество чисел Кнёделя для конкретного nобозначается Kn. ( Википедия ).
Например, K1это числа Кармайкла и OEIS A002997 . Они идут как {561, 1105, 1729, 2465, 2821, 6601, ... }. K2является OEIS A050990 и идет , как, {4, 6, 8, 10, 12, 14, 22, 24, 26, ... }.
Твое задание
Ваша задача - написать программу / функцию / и т.д. это занимает два числа, nи p. Она должна возвращать первые pномера в Knodel последовательности, Kn.
Это код-гольф , поэтому выигрывает самый короткий код в байтах!
Примеры
1, 6 -> [561, 1105, 1729, 2465, 2821, 6601]
2, 3 -> [4, 6, 8]
4, 9 -> [6, 8, 12, 16, 20, 24, 28, 40, 44]
3, 1 -> [9]
3, 0 -> []
21, 21 -> [45, 57, 63, 85, 105, 117, 147, 231, 273, 357, 399, 441, 483, 585, 609, 651, 741, 777, 861, 903, 987]
m > n.
4нет в последовательностиK_4?i^(4-4) = 1 mod 4всегда верно.