Strona główna » Algorytmy » Teoria Liczb » Liczby Patyczkowe

Liczby Patyczkowe

Wstęp

Używany powszechnie system dziesiętny jest systemem pozycyjnym, którego cyfry są reprezentowane przez cyfry od 0 do 9. Jednak sposób reprezentacji graficznej jest jedynie umowny i może zostać zastąpiony przez inny. Przykładem tego są patyczki liczbowe używane przez starożytnych Chińczyków.

Tradycyjny zapis

W celu przetłumaczenie cyfr arabskich na cyfry z zapisu patyczków liczbowych wystarczy zmienić ich sposób reprezentacji graficznej. W tradycyjnym zapisie każda cyfra ma dwóch różnych reprezentantów. Pierwsza wersja składa się z zastosowanie kresek pionowych, a druga z poziomych. Wszystkie liczby na pozycji nieparzystej, licząc od prawej, korzysta z zapisu pionowego, a pozostałe cyfry z zapisu ujemnego. Poniżej znajduje się tabelka reprezentująca sposób zapisu poszczególnych cyfr:

0123456789
Pionowe
Poziome

Przykładowo chcąc zapisać liczbę używając zapisu patyczkowego należy zapisać tak:

Liczby ujemne

W liczbach patyczkowych istnieje możliwość, aby zapisać liczbę ujemną. W celu oznaczenia, że dana liczba jest ujemna to należy przekreślić najmniej znaczącą cyfrę tj. pierwszą od prawej. W przypadku liczby ujemnej zestaw cyfr w zapisie wygląda następująco:

0123456789
Pionowe ujemne

Warto zauważyć, że nie istnieją przekreślone oznaczenia poziome, ponieważ przekreślenie może być na pierwszej cyfrze od prawej, a ona jest na pozycji nieparzystej. Ciekawym przypadkiem jest też przekreślone 0, które pozwala na uzyskanie -0.

Chcąc zapisać liczbę wystarczy napisać:

Implementacja

Obecnie symbole reprezentujące liczby patyczkowe został włączone do systemu Unicode, ale obecnie jest niewiele przeglądarek, które je wspierają. Z tego powodu można skorzystać z grafiki wektorowej SVG, aby wyświetlić zapis. Każdy znak ma swój unikalny identyfikator dzięki czemu bardzo łatwo można się odwołać do wybranego elementu. Elementy z kresek pionowych mają przedrostek v, a poziome h. Następnie idzie cyfra, którą reprezentują. W celu zanegowania cyfry do identyfikatora należy dopisać podkreślnik "_".

W celu odwołania się do elementu można skorzystać z obiektu use. Przykładowo w celu pobrania elementu reprezentującego pionowe 4 należy w obiekcie SVG wpisać:

  1. <use xlink:href="#h4"/>

W plikach do pobrania jest zapisany obiekt div ze wszystkimi symbolami oraz skrypt z funkcją Translate(), który zamienia dowolną liczbę na obiekty SVG, które ustawione koło siebie reprezentują liczby patyczkowe.