| r253 vs r254 | ||
|---|---|---|
| ... | ... | |
| 1436 | 1436 | a/b=(au+ab)/(bu+bb)=(+(au.substr(0,18)+ab.substr(0,18)))/(+(bu.substr(0,18)+bb.substr(0,18)))와 같습니다. |
| 1437 | 1437 | ## 자릿수 측정 |
| 1438 | 1438 | 나누는 자릿수에 맞춰 결과를 표시하고자 ac, bc를 자릿수를 나타내는 값으로 정의합니다. |
| 1439 | 먼저 au는 앞 | |
| 1439 | 먼저 au는 앞에 적어놓은 0을 제거한 문자열이므로 +au>0인 경우 ac를 au의 문자열 길이에서 1을 뺀 값으로 정의합니다. | |
| 1440 | 1440 | {{{#!if +au>0 |
| 1441 | {{{#!if ac=au.length | |
| 1441 | {{{#!if ac=au.length-1 | |
| 1442 | 1442 | }}}}}} |
| 1443 | 1443 | (au, ab 둘다 0인 경우 앞에 처리하는 식이 있으며) au가 0이라면 ab는 0보다 크며, 소수점 아래 처음으로 0이 아닌 수가 나오는 자릿수를 고른 다음 덧셈 연산에서 그 수의 역원이 되는 수를 ac로 정의합니다. 이를 구하고자 뒤에 0을 더 붙여 18자리 숫자로 만든 다음 정수로 바꾸어 구합니다. |
| 1444 | 1444 | {{{#!if +au==0 |
| ... | ... | |
| 1447 | 1447 | |
| 1448 | 1448 | bc도 a와 같은 방법으로 정의합니다. |
| 1449 | 1449 | {{{#!if +bu>0 |
| 1450 | {{{#!if bc=bu.length | |
| 1450 | {{{#!if bc=bu.length-1 | |
| 1451 | 1451 | }}}}}}{{{#!if +bu==0 |
| 1452 | }}} | |
| 1452 | {{{#!if bc=bb+pd, bc=bc.substr(0,18), bc=+bc, bc=bc.toString(), bc=bc.length-19 | |
| 1453 | }}}}}} | |
| 1453 | 1454 | |
| 1454 | 1455 | |
| 1455 | 1456 | ##자릿수 기억 (이후에 서술) |
| ... | ... | |
| 5050 | 5051 | {{{#!if (au==0)&&(ab==0) |
| 5051 | 5052 | {{{#!if br=true |
| 5052 | 5053 | }}}}}}}}} |
| 5053 | ||
| 5054 | ||
| 5055 | ||
| 5056 | ||
| 5057 | ||
| 5058 | ||
| 5059 | ||
| 5060 | {{{#!if | |
| 5061 | ||
| 5054 | tn을 빈 문자열로, ts를 false로 초기화합니다. 마지막 72회까지 몫을 구하는 계산을 했음에도 불구하고 0으로 나누어떨어지지 않는다면 tn을 "..."로, ts를 true로 바꿉니다. | |
| 5055 | {{{#!if tn="", ts=false, !br | |
| 5056 | {{{#!if tn="...", ts=true | |
| 5062 | 5057 | }}}}}}}}} |
| 5063 | 5058 | |
| 5064 | 5059 | ##rs 매기기 |
| ... | ... |