В развлекательной математике число Кейта или число-репфигита (сокращение от rep е titive Fibonacci -like d igit ) — это натуральное число в данной системе счисления с цифрами, такими, что когда последовательность создается так, что первые члены являются цифрами , а каждый последующий член является суммой предыдущих членов, является частью последовательности. Числа Кейта были введены Майком Кейтом в 1987 году. [1] Их вычислительно очень сложно найти, известно всего около 100.
Пусть будет натуральным числом, пусть будет числом цифр в системе счисления с основанием , и пусть
быть значением каждой цифры .
Определим последовательность линейным рекуррентным соотношением . Для ,
и для
Если существует такое , что , то говорят, что это число Кейта .
Например, 88 — это число Кейта в системе счисления с основанием 6 , т.е.
и вся последовательность
и .
Существует ли бесконечно много чисел Кейта в определенном основании, в настоящее время является предметом спекуляций. Числа Кейта редки и их трудно найти. Их можно найти путем исчерпывающего поиска, и более эффективного алгоритма не известно. [2] По словам Кейта, в десятичной системе счисления в среднем числа Кейта ожидаются между последовательными степенями 10. [ 3] Известные результаты, по-видимому, подтверждают это.
14 , 19 , 28 , 47 , 61 , 75 , 197, 742, 1104, 1537, 2208, 2580, 3684, 4788, 7385, 7647, 7909, 31331, 34285, 34348, 55604, 62662, 86935, 93993, 120284, 129106, 147640, 156146, 174680, 183186, 298320, 355419, 694280, 925993, 1084051, 7913837, 11436171, 33445755, 44121607, 129572008, 251133297, ... [4]
В системе счисления с основанием 2 существует метод построения всех чисел Кейта. [3]
Числа Кейта в системе счисления с основанием 12 , записанные в системе счисления с основанием 12, следующие:
где ᘔ представляет 10, а Ɛ представляет 11.
Кластер Кейта — это связанный набор чисел Кейта, один из которых является кратным другому. Например, в десятичной системе счисления , , , и — все это кластеры Кейта. Это, возможно, единственные три примера кластера Кейта в десятичной системе счисления . [5]
В приведенном ниже примере реализована последовательность, определенная выше, на языке Python для определения, является ли число в определенной системе счисления числом Кита:
def is_repfigit ( x : int , b : int ) -> bool : """Определяет, является ли число в определенной системе счисления числом Кейта.""" if x == 0 : return True последовательность = [] у = х пока y > 0 : последовательность.append ( y % b ) y = y // b digit_count = len ( последовательность ) последовательность.reverse ( ) пока последовательность [ len ( последовательность ) - 1 ] < x : n = 0 для i в диапазоне ( 0 , digit_count ): n = n + последовательность [ len ( последовательность ) - digit_count + i ] последовательность . append ( n ) обратная последовательность [ len ( последовательность ) - 1 ] == x