Теорема Цекендорфа
![]() Теорема Цекендорфа, названная в честь бельгийского математика Эдуарда Цекендорфа[англ.] — теорема о представлении целых чисел в виде сумм чисел Фибоначчи. Теорема Цекендорфа гласит, что всякое натуральное число можно единственным образом представить в виде суммы одного или нескольких различных чисел Фибоначчи так, чтобы в этом представлении не оказалось двух соседних чисел из последовательности Фибоначчи. Формулируя строже, для любого натурального числа N существуют натуральные числа ci ⩾ 2, ci + 1 > ci + 1, такие, что где Fn — n-е число Фибоначчи. Эта сумма называется представлением Цекендорфа числа N. На основе цекендорфова представления строится фибоначчиева система счисления. Например, представление Цекендорфа для 100 есть
Можно представить 100 в виде суммы чисел Фибоначчи и по-другому, например,
но это не будут цекендорфовы представления, поскольку 1 и 2 или 34 и 55 являются последовательными числами Фибоначчи. Для любого заданного натурального числа его цекендорфово представление находится при помощи жадного алгоритма, когда на каждом этапе выбирается наибольшее возможное число Фибоначчи. ИсторияХотя теорема названа в честь автора, опубликовавшего свою работу в 1972 году, этот же результат был опубликован двадцатью годами ранее Герритом Леккеркеркером[англ.].[1] Как таковая, эта теорема служит иллюстрацией закона Стиглера. ДоказательствоТеорема Цекендорфа состоит из двух частей:
Первую часть теоремы можно доказать по индукции. Для n = 1, 2, 3 утверждение очевидно верно (поскольку это числа Фибоначчи), для n = 4 имеем 4 = 3 + 1. Предположим, всякое натуральное n ⩽ k имеет цекендорфово представление. Если k + 1 — число Фибоначчи, то утверждение доказано; если нет, то существует такое j, что Fj < k + 1 < Fj + 1. Рассмотрим a = k + 1 − Fj. Поскольку a ⩽ k, оно имеет цекендорфово представление (по предположению индукции). При этом Fj + a < Fj + 1, и поскольку Fj + 1 = Fj + Fj − 1 (по определению чисел Фибоначчи), a < Fj − 1, так что цекендорфово представление a не содержит Fj − 1 . Таким образом, k + 1 может быть представлено в виде суммы Fj и цекендорфова представления a. Вторая часть теоремы требует для доказательства следующую лемму:
Лемма доказывается индукцией по j. Теперь возьмем два непустых множества из различных непоследовательных чисел Фибоначчи S и T с одной и той же суммой элементов. Рассмотрим множества S′ и T′, равные S и T, из которых удалены общие элементы (т. е. S′ = S \ T и T′ = T \ S). Поскольку S и T имеют одну и ту же сумму элементов, и из них удалены одни и те же элементы (а именно элементы из S ∩ T), S′ и T′ также должны иметь одну и ту же сумму элементов. Докажем от противного, что хотя бы одно из множеств S′ и T′ пусто. Предположим, что это не так, т. е. что S′ и T′ оба не пусты, и пусть наибольший элемент S′ есть Fs, а наибольший элемент T′ есть Ft. Поскольку S′ и T′ не содержат общих элементов, Fs ≠ Ft. Без потери общности предположим, что Fs < Ft. Тогда по лемме сумма элементов S′ строго меньше, чем Fs + 1, т. е. строго меньше, чем Ft, поскольку сумма элементов T′ не меньше, чем Ft. А это противоречит тому, что S′ и T′ имеют одинаковую сумму элементов. Следовательно, либо S′, либо T′ пусто. Пусть (без потери общности) пусто S′. Тогда сумма элементов S′ равна нулю, значит, сумма элементов T′ также равна нулю, значит, T′ — также пустое множество (оно содержит только натуральные числа). Значит, S′ = T′ = ∅, т. е. S = T, что и требовалось доказать. Фибоначчиево умножениеС помощью представления Цекендорфа можно ввести следующую операцию. Для натуральных чисел a и b с представлениями Цекендорфа и можно определить фибоначчиево умножение Подробнее о фибоначчиевом умножении см. в статье, посвященной фибоначчиевой системе счисления. Представление негафибоначчиевых чиселПоследовательность Фибоначчи можно распространить на отрицательные индексы рекуррентным соотношением которое даёт последовательность чисел «негафибоначчи», удовлетворяющих равенству Любое целое число также можно единственным образом представить[2] в виде суммы чисел негафибоначчи, в котором никакие два последовательных числа негафибоначчи не используются. Например:
Заметим, что 0 = F−1 + F−2, поэтому единственность представления существенно зависит от того условия, что двух последовательных чисел негафибоначчи не используется. Это даёт систему кодирования целых чисел, аналогичную представлению Цекендорфа. В представлении целого числа x n-я цифра равна 1, если в его представлении имеется Fn, и 0 в противном случае. Например, 24 кодируется строкой 100101001, в которой единицы стоят на 9-й, 6-й, 4-й и 1-й позициях, поскольку 24 = F−1 + F−4 + F−6 + F−9. Целое число x представляется словом нечётной длины тогда и только тогда, когда x > 0. См. такжеПримечания
Литература
Ссылки
Эта статья использует материал "proof that the Zeckendorf representation of a positive integer is unique" с PlanetMath, под лицензией Creative Commons Attribution/Share-Alike License. |
Portal di Ensiklopedia Dunia