본문 바로가기

(비정기) Mr.K's Post/Weekly paper

R.A.M. #1. 무리수 √2의 값을 구해보자! : Stage 2

부제 : IE 7.0으로 바꿨는데 이미지 업로드가 안되네.

제곱근의 계산법

피타고라스에 의해 알려진 무리수 √2는 1.41421356…이다. 이 숫자를 쉽게 암기하는 방법은 각자의 요령에 달려 있다. 그런데 이 숫자가 어떻게 나오게 되었을까? 여기에서 제곱근의 계산방법을 알아보기로 하자.


0. 나눗셈의 그것과 비슷하도록 제곱근 기호를 길게 그리고 그 안에 2를 쓴다.

1. 제곱해서 2가 되거나, 모자르지만 그에 가깝게 되는 최대의 수는 1. 그러므로 B1과 C1(그림에 적어놓진 않았지만 몫부분에 해당함, 이하 Ck)에 1을 넣고 B1과 C1을 곱한 결과를 A2에 쓴다.

2. (A1-A2)는 1. 따라서 A3에 1을 넣고 00을 내려오게 한다.
3. B1 밑의 B2에 C1과 같은 1을 넣고 B1과 B2를 합한 값을 B3에 쓴다.

4. 2□×□가 100이 되거나, 모자르지만 그에 가장 가깝게 되는 □를 생각한다. 여기서는 4를 넣으면 24×4=96이 되어 가장 가깝다. 그래서 B3은 24, C2에는 4가 들어간다. 그리고 이 둘의 곱을 A4에 넣는다.

5. 이렇게 하여 B4에 C2와 같은 4를 넣고, 둘의 합계 28을 B5에 써넣는다.
6. 이런 식으로 똑같이 써넣어가면 차례차례로 제곱근을 구할 수 있다.


위에 제시된 그림처럼 계산을 하면 소수점 이하 1만 자리, 2만 자리라도 시간이 허용할 경우 세밀히 구할 수가 있다.
(위 내용은 '수학통이 되는 책'에서 일부 발췌했음을 알려드립니다)
(본문에서는 다소 설명이 부족한 것 같아 글수정을 조금 하였고, 그림은 포토샵으로 직접 그렸습니다)


Mr. K입니다

어제는 갑작스레 나갔다 올 일이 생겨서 오늘에서야 포스팅을 하게 되었습니다;


대략적인 방법은 위에 다 써놓았으니 코드로 구현한 것을 보도록 하겠습니다


지난번의 Bisection Method와 비교해보면 tolerance는 필요하지 않습니다

단지 소수점 이하의 자리수를 정하는 precision만 필요할 뿐이지요


pow10함수는 10의 거듭제곱을 반환하는 함수이고,

squareRoot함수는 제곱근을 구하는 함수입니다
left는 위 그림의 Bx부분에 해당하고,
right는 위 그림의 Ax부분에 해당합니다
extend는 ●□×□꼴의 계산과정중의 Bx부분에 해당합니다

이번에도 squareRoot함수의 body부분에 대한 설명은 필요 없으리라 생각합니다


혹시나
이 방법을 이용해서 손으로 제곱근을 구해보고 싶은 분들을 위해
√2 외에 √6을 구해보면 아래와 같습니다



오늘의 포스트는 이것으로 마칩니다

다음번에는 또 다른 방법으로 √2를 구하는 방법을 가지고 돌아옵니다 (__)

(포스팅 소요시간 : 두 번 날려먹은거 빼고 약 40분)