Cel mai bun răspuns
Împarte, folosind împărțirea lungă.
½ = 1 ÷ 2
1 ÷ 2 = 0 cu restul de 1, deci locul cuiva este 0.
Adăugați un 0 la rest și repetați împărțirea:
10 ÷ 2 = 5 cu fără rest, deci locul zecelea este 5.
Dacă continuăm, vom continua să adăugăm 0 la final; deci am terminat.
Mai concis:
\ tfrac12 = 1 ÷ 2
1 ÷ 2 = \ mathbf {0} R1: 0
10 ÷ 2 = \ mathbf {5} R0: 0.5
Deci \ tfrac12 = 0.5.
Să încercăm cu \ 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
Deci \ tfrac18 = 0,125
Să încercăm cu \ tfrac13:
\ tfrac13 = 1 ÷ 3
1 ÷ 3 = \ mathbf {0} R1: 0
10 ÷ 3 = \ mathbf {3} R1: 0.3
Dacă continuăm, vom continua să adăugăm mai multe 3s:
10 ÷ 3 = \ mathbf {3 } R1: 0.33
10 ÷ 3 = \ mathbf {3} R1: 0.333
Deci, în loc să facem acest lucru, vom trage o linie peste 3 pentru a indica faptul că se repetă la nesfârșit:
\ tfrac13 = 0. \ overline3
Mai general, de fiecare dată când primiți un rest pe care l-ați obținut mai devreme, modelul se repetă din acel punct anterior.
Să încercăm cu \ 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
Să încercăm cu \ 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}
Răspuns
Este o întrebare interesantă, cu un algoritm netrivial.
Majoritatea calculatoarelor folosesc fracții continue. Iterați funcția x | -> 1 / (x-int (x)), ținând cont de int (x) tot timpul.
Să presupunem că trebuie să convertiți 1.3529411764705883 într-o fracțiune. Int este 1, restul inversat este 1 / .3529411764705883 = 2.833333333333333326. Int este de 2, restul inversat este 1 / .8333333333333326 = 1.200000000000001. Int este de 1, restul inversat este de 4.999999999999975. Int este de 4, restul inversat este 1 / .999999999999975 = 1.000000000000025. Int este 1, restul inversat este 40000000000000.0. Int este 40000000000000, restul este 0, deci nu poate fi inversat (sau tăiați cu un pas mai devreme, observând că 40000000000000 este prea mare).
Oricum, acum aveți ints: 1,2,1, 4.1,40000000000000. Apoi, inversați procesul: inversați ultimul rotunjindu-l la 0, adăugați ultimul (1), inversați (1), adăugați precedent (4), obținând 5, inversați (1/5), adăugați 1 obținând 6/5, inversează obținând 5/6, adaugă 2 obținând 17/6, inversează obținând 6/17, adaugă 1 obținând 23/17. Aceasta este soluția.