Mnożenie ułamków okresowych

W tym wpisie zajmiemy się mnożeniem liczb w systemach pozycyjnych, przy czym głównym tematem będzie znalezienie reguły na mnożenie ułamków okresowych. Wykażemy między innymi, że

(0,(\underbrace{0\dots 01}_{T}))^2=0,(\underbrace{0\dots 00}_T \underbrace{0\dots 01}_T \dots \underbrace{L-1\dots L-1 L-3}_T \underbrace{L-1 \dots L-1 L-1}_T )

tzn., że w okresie tej liczby występują kolejno wszystkie T-cyfrowe liczby, bez przedostatniej. Wyjaśnimy też dlaczego to takie ważne. Na końcu wpisu zamieszczę też mój mini kalkulator do wyznaczania ułamków okresowych liczb wymiernych z przedziału (0,1) przy dowolnej pozycji.

Najpierw jednak omówmy zagadnienie mnożenia. Oczywiście mnożenie przez liczbę całkowitą czy ułamek skończony jest tylko wielokrotnym dodawaniem, gdyż

c_N \dots c_1 c_0, d_1 d_2 \dots d_k \cdot x=L^{-k} \cdot (c_N \dots c_1 c_0 d_1 d_2 \dots d_k \cdot x)

więc mamy tu tylko przesunięcie przecinka i mnożenie przez liczbę całkowitą. Nawet jeśli x jest ułamkiem okresowym, to z poprzedniego wpisu wiadomo jak się go dodaje. Skupimy się więc na sytuacji, gdy mnożymy ułamki okresowe. Przypomnijmy, że

\displaystyle 0,c_1c_2\dots c_N (d_1d_2\dots d_T)=\frac{c_1c_2\dots c_N,d_1 d_2 \dots d_T - 0, c_1 c_2 \dots c_N}{L^T-1}

W związku z tym przy mnożeniu tego typu liczb będzie interesował nas iloczyn czynników

\displaystyle \frac{1}{L^T-1}=0,(\underbrace{0\dots 01}_{T}).

Załóżmy więc, że mamy dwie liczby tego typu o okresach T_1, T_2 \geq 1

\displaystyle 0,(\underbrace{0\dots 01}_{T_1}) \cdot 0,(\underbrace{0\dots 01}_{T_2})=\frac{1}{L^{T_1}-1} \cdot \frac{1}{L^{T_2}-1}

Pokażemy, że powyższy iloczyn można sprowadzić do postaci

\displaystyle m \cdot (0,(0\dots 01))^2

gdzie m jest pewną, jak się okaże za chwilę – ładną liczbą naturalną, a okres jest długości NWW(T_1, T_2).

Oznaczmy

\displaystyle N_1=\frac{T_1}{NWD(T_1, T_2)} oraz \displaystyle N_2=\frac{T_2}{NWD(T_1, T_2)}

Ze wzoru na sumę częściową szeregu geometrycznego

\displaystyle (q-1)\sum_{k=0}^n q^k=q^{n+1}-1

dla q=L^{T_1} oraz n=N_2-1 mamy

\displaystyle (L^{T_1}-1)\sum_{k=0}^{N_2-1} (L^{T_1})^k=(L^{T_1})^{N_2-1+1}-1=L^{T_1 N_2}-1=L^T-1, gdzie

T=T_1 N_2= \frac{T_1T_2}{NWD(T_1, T_2)}= NWW(T_1, T_2).

Analogicznie

\displaystyle (L^{T_2}-1)\sum_{k=0}^{N_1-1} L^{k T_2}=L^T-1

Zatem po pomnożeniu licznika i mianownika przez

\displaystyle m=\left(\sum_{k=0}^{N_1-1} L^{k T_2} \right) \left(\sum_{k=0}^{N_2-1} L^{k T_1}\right)

dostajemy

\displaystyle \frac{1}{L^{T_1}-1} \cdot \frac{1}{L^{T_2}-1}=m \frac{1}{(L^T-1)^2}=m \cdot (0,(\underbrace{0\dots 01}_{T}))^2.

Zauważmy jeszcze, że

\displaystyle \sum_{k=0}^{N} L^{k T}=\overbrace{ \underbrace{10\dots 0}_{T}\underbrace{10\dots 0}_{T} \dots \underbrace{10\dots 0}_{T} 1}^{NT+1}

czyli składa się N członów po T cyfr i jedynki na końcu.

Ustaliliśmy więc,  że aby poznać wynik mnożenia ułamków okresowych, potrzebujemy jeszcze umieć określić wynik poniższego iloczynu

(0,(0\dots 01))^2

Zgodnie z zapowiedzią dowiedziemy, że

(0,(\underbrace{0\dots 01}_{T}))^2=0,(\underbrace{0\dots 00}_T \underbrace{0\dots 01}_T \dots \underbrace{L-1\dots L-1 L-3}_T \underbrace{L-1 \dots L-1 L-1}_T )

Ciąg występujący w okresie składa się z wszystkich kolejnych liczb T – cyfrowych bez przedostatniej, czyli na przykład w systemie dziesiątkowym

(0,(1))^2=0(012345679) – bez ósemki, bo ona jest przedostatnia.

Albo w trójkowym

(0,(01))^2=0,(00\, 01 \,02 \,10 \,11 \,12 \, 20 \, 22) – bez 21

Więcej przykładów można zobaczyć używając mojego programu.

Skupmy się teraz na samej własności. Oznaczmy okres

c_{T'}\dots c_1 c_0= \underbrace{0\dots 00}_T \underbrace{0\dots 01}_T \dots \underbrace{L-1\dots L-1 L-3}_T \underbrace{L-1 \dots L-1 L-1}_T

Zauważmy że wszystkich T-cyfrowych ciągów jest L^T, zatem długość okresu to T'+1=T(L^T-1). Stąd naszym celem jest dowiedzenie równości

\displaystyle\frac{1}{(L^T-1)^2}=\frac{c_{T'}\dots c_1 c_0}{L^{T'+1}-1}

a równoważnie, że

\displaystyle(L^T-1)^2 \cdot c_{T'} \dots c_1 c_0 =L^{T'+1}-1

Możemy zapisać, że

c_{T'}\dots c_1 c_0= \underbrace{0\dots 00}_T \underbrace{0\dots 01}_T \dots \underbrace{L-1\dots L-1 L-3}_T \underbrace{L-1 \dots L-1 L-2}_T +1

A więc, że

\displaystyle c_{T'}\dots c_1 c_0 = \sum_{n=0}^{L^T-2} (L^T-2 -n) L^{Tn} +1

Stosując ponownie wzór na sumę częściową szeregu geometrycznego dostajemy, że

\displaystyle (L^T-1)\sum_{k=0}^{L^T-2} L^{k T}=L^{T(L^T-1)}-1=L^{T'+1}-1

Zatem wystarczy pokazać, że

\displaystyle (L^T-1) \left(\sum_{n=0}^{L^T-2} (L^T-2 -n) L^{Tn} +1 \right) =\sum_{k=0}^{L^T-2} L^{k T}.

Policzmy więc

\displaystyle (L^T-1) \left(\sum_{n=0}^{L^T-2} (L^T-2 -n) L^{Tn} +1 \right) =

\displaystyle \sum_{n=0}^{L^T-2} (L^T-2 -n) L^{T(n+1)} - \sum_{n=0}^{L^T-2} (L^T-2 -n) L^{Tn} + L^T-1=

przesuwamy wskaźnik w pierwszej sumie oraz wydzielamy z drugiej pierwszy (zerowy) składnik

\displaystyle \sum_{k=1}^{L^T-2} (L^T-2 -(k-1)) L^{Tk} - \sum_{k=1}^{L^T-2} (L^T-2 -k) L^{Tk} -(L^T-2) + L^T-1=

po przesunięciu możemy zapisać, że nadal sumujemy do L^T-2, gdyż dla k=L^T-1 i tak będzie zero. Zatem po odjęciu zostaje

\displaystyle \sum_{k=1}^{L^T-2} L^{Tk} +1=\sum_{k=0}^{L^T-2} L^{Tk}

czyli dokładnie to, co miało wyjść.

Uzyskaliśmy więc pewien sposób mnożenia liczb w systemach pozycyjnych, bez zamiany na ułamki zwykłe. Jednak nie jest on zbyt wygodny. Sprowadzanie do wspólnego czynnika

\displaystyle (0,(0\dots 01))^2

znacząco powiększa nam mianownik. Już liczba 0,(01)^2 w systemie dziesiątkowym ma w okresie 198 cyfr.

Policzmy na koniec prosty przykład, aby zobrazować osiągnięte rezultaty. Obliczenia będą wykonywane w systemie o podstawie 3.

12,0(1) \cdot 0,(20)=(12 + 10^{-1} \cdot 0,(1)) \cdot 0,(20)=12 \cdot 0,(20) +10^{-1} \cdot 0,(1) \cdot 0,(20)

Osobno liczymy

12 \cdot 0,(20)= 10 \cdot 0,(20) + 2 \cdot 0,(20)= 2,(02) +2 \cdot 0,(20)

oraz, pamiętając o zasadzie podwójnego przeniesienia

\begin{array}{lllll}    &&_1&& \\    &&0,&(2&0) \\    +&&0,&(2&0) \\ \hline    &&1,&1&0 \\    +&&0,&0&1 \\ \hline    &&1,&(1&1)    \end{array}

Więc

2,(02) +2 \cdot 0,(20)=2,(02)+1,(11)

\begin{array}{lllll}    &_1&&_1& \\    &&2,&(0&2) \\    +&&1,&(1&1) \\ \hline    &1&0,&(2&0)    \end{array}

Wracając do rachunków mamy

12,0(1) \cdot 0,(20)=10,(20) +10^{-1} \cdot 0,(1) \cdot 0,(20)

Policzymy teraz osobno

0,(1) \cdot 0,(20)=20 \cdot 0,(01) \cdot 0,(1)=20 \cdot 11 \cdot (0,(01))^2

powtórzymy jawnie powyższe przekształcenie przechodząc do ułamków zwykłych i systemu dziesiętnego i z powrotem do trójkowego

(0,(1))_{(3)}=\frac{1}{3-1}=\frac{3+1}{(3-1)(3+1)}=\frac{3+1}{3^2-1}=(11 \cdot 0,(01))_{(3)}

Dokładnie tak samo, jak w dowodach.

Dalej musimy więc wykonać mnożenie 20 \cdot 11

\begin{array}{lllll}    &&&2&0 \\    \cdot &&&1&1 \\ \hline    &&&2&0 \\    +&&2&0& \\ \hline    &&2&2&0    \end{array}

A teraz

220 \cdot 0,(00 \, 01 \, 02 \, 10 \, 11 \, 12 \, 20 \, 22)=2 \cdot (100 + 10) \cdot 0,(00 \, 01 \, 02 \, 10 \, 11 \, 12 \, 20 \, 22)=

2\cdot (0,(01 \,02 \,10 \,11 \,12 \, 20 \, 22 \, 00) +0,(0\,01 \,02 \,10 \,11 \,12 \, 20 \, 22 \, 0))

Dodajemy

\begin{array}{llllllllllllllllllll}    &&&&&&_1&_1&&&_1&_1&_1&_1&_1&_1&_1&&& \\    &&&0,&(0&1&0&2&1&0&1&1&1&2&2&0&2&2&0&0) \\    &&+&0,&(0&0&1&0&2&1&0&1&1&1&2&2&0&2&2&0) \\ \hline    &&&0,&(0&1&2&0&0&1&2&0&0&1&2&0&0&1&2&0)\end{array}

Wynik możemy zapisać krócej 0,(0120). Wracając do rachunków mamy już

10,(20) +10^{-1} \cdot 0,(1) \cdot 0,(20)=10,(20)+ 10^{-1} \cdot 2 \cdot 0,(0120)

Wykonujemy dodawanie

\begin{array}{llllll}    &&_1&_1&& \\    &0,&(0&1&2&0) \\    +&0,&(0&1&2&0) \\ \hline    &0,&(1&0&1&0)    \end{array}

Stąd ostatecznie

10,(20)+ 10^{-1} \cdot 2 \cdot 0,(0120)= 10,(20)+ 10^{-1} \cdot 0,(10)=

10,(20)+0,0(10)=10,2(02) + 0,0(10)=10,2(12)

Wykonajmy sprawdzenie

\displaystyle (10,2(12))_{(3)}=(10)_{(3)} + (0,2)_{(3)}+(0,0(12))_{(3)}=3+\frac{2}{3}+\frac{(12)_{(3)}}{3(3^2-1)}=

\displaystyle 3+\frac{2}{3}+\frac{3+2}{3\cdot 8}=3+\frac{2}{3}+\frac{5}{3 \cdot 8}=3+\frac{1}{3}\left(\frac{16}{8}+\frac{5}{8}\right)=3\frac{7}{8}

Z drugiej strony

(12,0(1))_{(3)}=5+\frac{1}{3(3^1-1)}=5\frac{1}{6}=\frac{31}{6}

oraz

(0,(20))_{(3)}=\frac{2\cdot3}{3^2-1}=\frac{6}{8}

Zatem

(12,0(1) \cdot 0,(20))_{(3)}=\frac{31}{6}\cdot \frac{6}{8}=\frac{31}{8}=3\frac{7}{8}=(10,2(12))_{(3)}

czyli się zgadza. Przy okazji widać, że metoda mnożenia ułamków okresowych bez przechodzenia na inne systemy i ułamki zwykłe jest operacją dużo bardziej pracochłonną.

Obiecany link do programu: http://przeklej.net/file_details/132298.html Proszę też pamiętać, aby podawać programowi poprawne dane oraz, że niektóre rozwinięcia mogą być zbyt duże, aby się pomieścić.

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s