Najlepsza odpowiedź
Podziel, używając dzielenia długiego.
½ = 1 ÷ 2
1 ÷ 2 = 0 z resztą 1, więc miejsce jednego to 0.
Do reszty dodaj 0 i powtórz dzielenie:
10 ÷ 2 = 5 z bez reszty, więc dziesiąte miejsce to 5.
Jeśli będziemy kontynuować, będziemy po prostu dodawać zera na końcu; więc skończyliśmy.
Bardziej zwięźle:
\ tfrac12 = 1 ÷ 2
1 ÷ 2 = \ mathbf {0} R1: 0
10 ÷ 2 = \ mathbf {5} R0: 0.5
Więc \ tfrac12 = 0.5.
Wypróbujmy to z \ tfrac18:
\ tfrac18 = 1 ÷ 8
1 ÷ 8 = \ mathbf {0} R1: 0
10 ÷ 8 = \ mathbf {1} R2: 0,1
20 ÷ 8 = \ mathbf {2} R4: 0.12
40 ÷ 8 = \ mathbf {5} R0: 0,125
Więc \ tfrac18 = 0,125
Spróbujmy z \ tfrac13:
\ tfrac13 = 1 ÷ 3
1 ÷ 3 = \ mathbf {0} R1: 0
10 ÷ 3 = \ mathbf {3} R1: 0.3
Jeśli będziemy kontynuować, będziemy po prostu dodawać kolejne trójki:
10 ÷ 3 = \ mathbf {3 } R1: 0,33
10 ÷ 3 = \ mathbf {3} R1: 0,333
Więc zamiast tego narysujemy linię nad 3, aby wskazać, że powtarza się w nieskończoność:
\ tfrac13 = 0. \ overline3
Ogólnie rzecz biorąc, za każdym razem, gdy otrzymasz resztę, którą otrzymałeś wcześniej, wzór powtarza się od tego wcześniejszego punktu.
Spróbujmy z \ frac16:
\ frac16 = 1 ÷ 6
1 ÷ 6 = \ mathbf {0} R1: 0
10 ÷ 6 = \ mathbf {1} R4: 0,1
40 ÷ 6 = \ mathbf {6} R4: 0,16
\ frac16 = 0,1 \ overline6
Spróbujmy z \ tfrac17:
\ tfrac17 = 1 ÷ 7
1 ÷ 7 = \ mathbf {0} R1: 0
10 ÷ 7 = \ mathbf {1} R3: 0,1
30 ÷ 7 = \ mathbf {4} R2: 0,14
20 ÷ 7 = \ mathbf {2} R6: 0,142
60 ÷ 7 = \ mathbf {8} R4: 0,1428
40 ÷ 7 = \ mathbf {5} R5: 0,14285
50 ÷ 7 = \ mathbf {7} R1: 0.142857
\ tfrac17 = 0. \ Overline {142857}
Odpowiedź
To interesujące pytanie z nietrywialny algorytm.
Większość kalkulatorów używa ułamków ciągłych. Iterujesz funkcję x | -> 1 / (x-int (x)), cały czas śledząc int (x).
Powiedzmy, że musisz zamienić 1,3529411764705883 na ułamek. Jego int to 1, reszta odwrócona to 1 / .3529411764705883 = 2,8333333333333326. Jego int to 2, reszta odwrócona to 1 / .8333333333333326 = 1.200000000000001. Jego int to 1, reszta odwrócona to 4,999999999999975. Jego int to 4, reszta odwrócona to 1 / .999999999999975 = 1,000000000000025. Jego int to 1, reszta odwrócona to 40000000000000.0. Jego int to 40000000000000, reszta to 0, więc nie można jej odwrócić (lub odciąłeś jeden krok wcześniej, zauważając, że 40000000000000 jest za duże).
W każdym razie, teraz masz swoje int: 1,2,1, 4,1,40000000000000. Następnie po prostu odwracasz proces: odwróć ostatni zaokrąglając go do 0, dodaj następny do ostatniego (1), odwróć (1), dodaj poprzedni (4), uzyskaj 5, odwróć (1/5), dodaj 1 uzyskuje 6/5, odwraca uzyskuje 5/6, dodaje 2 uzyskuje 17/6, odwraca uzyskuje 6/17, dodaje 1 uzyskując 23/17. To jest rozwiązanie.