В математике последовательность натуральных чисел называется полной последовательностью, если каждое положительное целое число можно выразить в виде суммы значений последовательности, используя каждое значение не более одного раза.
Например, последовательность степеней двойки (1, 2, 4, 8, ...), основа двоичной системы счисления , является полной последовательностью; для любого натурального числа мы можем выбрать значения, соответствующие битам 1 в его двоичном представлении, и сложить их, чтобы получить это число (например, 37 = 100101 2 = 1 + 4 + 32). Эта последовательность минимальна, поскольку из нее нельзя удалить ни одного значения, не сделав некоторые натуральные числа невозможными для представления. Простые примеры последовательностей, которые не являются полными, включают четные числа , поскольку сложение четных чисел дает только четные числа — нечетное число образоваться не может.
Без потери общности предположим, что последовательность a n находится в неубывающем порядке, и определим частичные суммы a n как:
Тогда условия
являются как необходимыми, так и достаточными для того, чтобы n было полной последовательностью. [1] [2]
Следствием вышесказанного является то, что
достаточны для того, чтобы n было полной последовательностью. [1]
Однако существуют полные последовательности, которые не удовлетворяют этому следствию,например (последовательность A203074 в OEIS ), состоящая из числа 1 и первого простого числа после каждой степени числа 2.
Полные последовательности включают в себя:
Так же, как степени двойки образуют полную последовательность благодаря двоичной системе счисления, фактически любая полная последовательность может быть использована для кодирования целых чисел в виде битовых строк. Самая правая позиция бита назначается первому, наименьшему члену последовательности; следующая справа — следующему члену; и так далее. Биты, установленные в 1, включаются в сумму. Эти представления могут быть не уникальными.
Например, в арифметической системе Фибоначчи , основанной на последовательности Фибоначчи, число 17 можно закодировать шестью различными способами:
Максимальная форма выше всегда будет использовать F 1 и всегда будет иметь конечный ноль. Полное кодирование без конечного ноля можно найти в (последовательность A104326 в OEIS ). Отбрасывая конечный ноль, кодирование для 17 выше происходит как 16-й член A104326. Минимальная форма никогда не будет использовать F 1 и всегда будет иметь конечный ноль. Полное кодирование без конечного ноля можно найти в (последовательность A014417 в OEIS ). Это кодирование известно как представление Цекендорфа .
В этой системе счисления любая подстрока «100» может быть заменена на «011» и наоборот из-за определения чисел Фибоначчи. [5] Постоянное применение этих правил будет переводить от максимального к минимальному, и наоборот. Тот факт, что любое число (больше 1) может быть представлено с помощью конечного 0, означает, что всегда можно добавить 1, и учитывая, что для 1 и 2 можно представить в кодировке Фибоначчи, полнота следует по индукции .