---제곱근(루트의 값)을 구하는 공식---
제곱근으로 나누어서 딱 떨어지는 경우에는 문제가 없는데
만일 그렇지 않은 경우 제곱근의 값을 구하는 방법은 뭘까?
16이나 36 혹은 0.0036 등과 같이 제곱하여 딱 떨어지지 않는 경우에 대해 소수 100자리까지 어떻게 구할 것인가?
즉, 무한히 반복되는(혹은 반복되지 않더라도 상관없이) 어떤 수의 양의 제곱근을 소수 몇 자리까지 구하고자 할 때
만약 사칙연산(더하기, 빼기, 곱하기, 나누기)에 충분한 상식이 있다면 걱정할 필요가 없다.
아래 그림을 보면 이해가 쉽다.
만일 위 그림만을 보고도 이해가 되었다면 제 설명을 더 볼 필요가 없다.
위 그림은 2의 양의 제곱근을 계산하는 방법을 보여준 것으로
이것만 알면 어떤 수든지 제곱근의 근사치(소숫점 이하로 무한히 순환하지 않고 반복되므로 참값은 루트 얼마라고 써야 하므로, 소숫점 몇 자리까지 구하는 건 근사치일 뿐 임)를 구할 수 있다.
예를 들어 2323472392794.234242424409999 같은 수에 대한 제곱근도 마찬가지로
1번 그림)
소숫점 앞쪽은 두 자리씩 끊고,
여기서 루트(2)를 계산할 것이므로 이 수는 2가 되며,
루트(7321)을 계산할 경우엔 제일 먼저 73이 여기에 해당하는 부분이다.
어떤 두 수를 곱하여 2를 넘지 않는 최고의 수는 1이다.
이 말은 결국 1<= 루트(2) < 2
즉, 루트(2)는 1보다는 크거나 같고 2보다는 작다는 것.
동그라미로 친 1이 바로 2를 넘지 않게 곱할 수 있는 최고의 수가 되는 것이고, 그 곱이 되는 1은 2 아래에 쓴다. 그림에서 네모 안에 든 1을 말함.
또한 곱한 데 쓴 1을 루트(2) 표시 위쪽에 쓴다.
루트(2)는 1.얼마가 된다는 표시가 되는 건데
설명으로 쓰니까 복잡한데,
나눗셈 계산하는 것을 생각해 보면 비슷하다.
2번 그림)
2번 그림은 1번 그림 다음에서 계속 이어서 해나가는 과정으로
일단, 왼쪽에는 1*1 할 때 사용된 수를 더해서(1+1=2) 2가 내려온다.
그 다음 2-1해서 1이 내려오고,
그 다음엔 나눔을 당하는 원래 수 부분에서(2.00) 두 자리가 내려온다(여기서는 00이 내려오고)
계산하는 방법은 (20+x) * x 를 한 값이 100을 넘지 않는 x를 찾아야 한다
24*4=96, 25*5=125이므로 여기서의 x는 4가 되는 셈..
3번 그림)
2번에서 찾은 x에 4를 넣어서 표시한 그림이 이 그림으로
왼쪽엔 24, 4가 들어가고, 가운데는 그 곱인 96이 들어가고,
위쪽에는 x에 해당하는 4가 붙지.
결국, 루트(2) = 1.4... (1.4 다음에 얼마 얼마 얼마 ...)가 된다는 소리로 여기까지 하면 소수 첫째자리까지 구했고
4번 그림)
지금까지 한 과정을 계속해서 반복하면 되니
여기서는 소수 세째자리까지 구한 거고
누구에게든 시간만 허락한다면 루트(2)의 값을
소수 100자리, 1000자리까지도 구할 수 있는데....
자, 그러면 루트(200408041651.287343)의 값을 소수 10자리까지 구해본다면???
참고)
프로그래밍 능력이 된다면 이를 계산하는 프로그램을 짜서 구할 수도 있다.
하지만, 소수 100자리 정도까지만 계산하려고 해도 단순히 나누는 방식으로는 안된다.
100자리까지의 연산을 지원해줄 변수를 찾을 수 없을 테니까요.
이럴 때는 100자리까지의 연산을 지원하기 위해 배열 변수를 만들어서 하면 될텐데.....
이 글을 보고 관심있는 분은 한 번 시도해 보시길.....
(여기까지 읽었으면 관심이 있는 분이니까...ㅎㅎㅎ)
'뒤죽박죽 지식마당 > 뒤죽박죽 지식쎈타' 카테고리의 다른 글
[수학] 피보나치수열과 황금비 (0) | 2005.03.07 |
---|---|
[수학] 황금비율의 실예 (0) | 2005.03.07 |
[컴퓨터] 속도가 갑자기 떨어질때... (0) | 2005.03.07 |
[컴퓨터]갑자기 속도가 느려질때... (0) | 2005.03.07 |
[일반]숫자의 기원 (0) | 2005.02.17 |