분수를 소수로 변환하는 방법


우수 답변

긴 나눗셈을 사용하여 나눕니다.

½ = 1 ÷ 2

1 ÷ 2 = 0이고 나머지 1은 1의 자리가 0입니다.

나머지에 0을 추가하고 나누기를 반복합니다.

10 ÷ 2 = 5 나머지는 없습니다. 따라서 10 번째 자리는 5입니다.

계속 진행하면 계속해서 끝에 0을 추가합니다. 그래서 끝났습니다.

더 간결하게 :

\ tfrac12 = 1 ÷ 2

1 ÷ 2 = \ mathbf {0} R1 : 0

10 ÷ 2 = \ mathbf {5} R0 : 0.5

그래서 \ tfrac12 = 0.5.

\ 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

그래서 \ tfrac18 = 0.125

\ tfrac13 :

\ tfrac13 = 1 ÷ 3

1 ÷ 3 = \ mathbf {0} R1 : 0

10 ÷ 3 = \ mathbf {3} R1 : 0.3

계속하면 3을 계속 추가합니다.

10 ÷ 3 = \ mathbf {3 } R1 : 0.33

10 ÷ 3 = \ mathbf {3} R1 : 0.333

그러니 그렇게하는 대신 3 위에 선을 그려서 무기한 반복 :

\ tfrac13 = 0. \ overline3

보다 일반적으로 이전에 얻은 나머지를 얻을 때마다 패턴이 이전 시점부터 반복됩니다.

\ 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

\ 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}

답변

흥미로운 질문입니다. 사소하지 않은 알고리즘.

대부분의 계산기는 연속 분수를 사용합니다. 함수 x |-> 1 / (x-int (x))를 반복하여 항상 int (x)를 추적합니다.

1.3529411764705883을 분수로 변환해야한다고 가정 해 보겠습니다. int는 1이고 나머지 반전은 1 / .3529411764705883 = 2.8333333333333326입니다. int는 2이고 나머지 반전은 1 / .8333333333333326 = 1.200000000000001입니다. int는 1이고 나머지는 반전 된 4.999999999999975입니다. int는 4이고 나머지 반전은 1 / .999999999999975 = 1.000000000000025입니다. int는 1이고 나머지는 반전 된 40000000000000.0입니다. int는 40000000000000이고 나머지는 0이므로 반전 할 수 없습니다 (또는 40000000000000이 너무 크다는 점에 유의하여 한 단계 앞선 컷오프).

어쨌든 이제 int : 1,2,1, 4,1,40000000000000. 그런 다음 프로세스를 뒤집습니다. 마지막 항목을 0으로 반올림하고 다음 항목을 추가 (1), 반전 (1), 이전 추가 (4), 5 얻기, 반전 (1/5), 추가 1은 6/5, 반전은 5/6, 2는 17/6, 반전은 6/17, 1은 23/17을 얻습니다. 그게 해결책입니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다