Loading AI tools
універсальний код З Вікіпедії, вільної енциклопедії
Система числення Фібоначчі — змішана система числення для цілих чисел на основі чисел Фібоначчі , , , , і т. д.
Будь-яке невід'ємне ціле число можна єдиним чином подати послідовністю бітів () так що , причому послідовність містить лише скінченне число одиниць, і не має пар сусідніх одиниць: . За винятком останньої властивості, дане подання аналогічне двійковій системі числення .
В основі лежить теорема Цекендорфа[1]: будь-яке невід'ємне ціле число можна єдиним чином подати у вигляді суми деякого набору чисел Фібоначчі з індексами більшими від одиниці, який не містить пар сусідніх чисел Фібоначчі.
Доведення існування легко провести за індукцією. Будь-яке ціле число потрапить у проміжок між двома сусідніми числами Фібоначчі, тобто для деякого виконується нерівність: . Таким чином, , де , Так що розкладання числа вже не буде містити доданка .
Припускають, що деякі різновиди юпани (абака інків) використовували систему числення Фібоначчі, щоб мінімізувати необхідне для обчислень число зерен[2].
На основі системи числення Фібоначчі будується код (кодування) Фібоначчі — універсальний код[ru] для натуральних чисел (1, 2, 3 …), який використовує послідовності бітів. Оскільки комбінація 11 заборонена в системі числення Фібоначчі, її можна використовувати як маркер кінця запису.
Для складання коду Фібоначчі за записом числа в системі числення Фібоначчі слід переписати цифри у зворотному порядку (так, що старша одиниця виявляється останнім символом) і приписати в кінці ще раз 1 (див. таблицю). Тобто, кодова послідовність має вигляд:
де n — номер найстаршого розряду з одиницею.
Додавання чисел у позиційних системах числення виконується з використанням переносу, що дозволяє усувати наслідки переповнення розряду. Наприклад, у двійковій системі: 01 + 01 = 02 = 10.
У системі числення Фібоначчі ситуація складніша:
Число | Подання через степінь |
---|---|
1 | 1 |
2 | 10,01 |
3 | 100,01 |
4 | 101,01 |
5 | 1000,1001 |
6 | 1010,0001 |
7 | 10000,0001 |
8 | 10001,0001 |
9 | 10010,0101 |
10 | 10100,0101 |
11 | 10101,0101 |
12 | 100000,101001 |
13 | 100010,001001 |
14 | 100100,001001 |
Схоже влаштована позиційна система числення з ірраціональною основою, рівною золотому перетину .
Будь-яке дійсне число з відрізка допускає розкладання в ряд через від'ємні степені золотого перетину:
де має ту ж властивість відсутності сусідніх одиниць. Коефіцієнти знаходяться послідовним порівнянням з — золотим перетином відрізка , відніманням (якщо ) і множенням на . З цього неважко бачити, що будь-яке невід'ємне дійсне число допускає розкладання:
де N таке, що . Зрозуміло, слід вважати, що для всіх .
Ці формули повністю аналогічні формулам для звичайних позиційних систем з цілими основами. Виявляється, що будь-яке невід'ємне ціле число (і, більш загально, кожен невід'ємний елемент кільця ) має подання лише зі скінченною кількістю одиниць, тобто у вигляді скінченної суми неповторюваних степенів золотого перетину.[3]
Аналогія між числами Фібоначчі і степенями золотого перетину заснована на однаковій формі тотожностей:
які дозволяють усунення сусідніх одиниць. Прямого зв'язку між поданням натуральних чисел в системі золотого перетину і в системі Фібоначчі немає.
Правила додавання аналогічні показаним вище з тією поправкою, що перенесення в бік молодших розрядів поширюється без обмеження. У даній системі числення можна виконувати й множення.
Для цілих чисел і можна визначити «множення»[4]
аналогічне множенню чисел у двійковій системі числення.
Зрозуміло, що дана операція не є справжнім множенням чисел, і виражається формулою:[5]
де — ціла частина, — золотий перетин .
Ця операція має асоціативність, що вперше зауважив Дональд Кнут[6]. Слід зазначити, що інше «множення» відрізняється лише зсувом на два розряди, вже не є асоціативним.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.