알티수학 쌤 비법공개 #4 - 제곱근의 근사값을 암산하는 방법과 n-제곱근으로 일반화
가끔 제곱근의 근사값이 필요할 때가 있죠.
오늘은 간단한 계산(암산)으로
매우 근접한 값을 찾아주는 공식을
알려드리겠습니다.
오래전에 심심해서 만든 공식인데
꽤 편리합니다.
1. 공식
공식은 아래와 같습니다.

라 둡니다. 여기서,
k 는 정수부분, α 는 소수부분입니다.
이 때,

입니다. 복잡해 보이지만,
분모는 정수부분의 두 배
분자는 m 과 정수부분 제곱의 거리
입니다.
그냥 외우면 됩니다.
2. 예시
예를 들어, √91 을 해볼까요?
이므로, √91 의 정수부분이 9 인것은
쉽게 알 수 있습니다. 즉,

이죠.
이제 α 의 좋은 근사값을 구하면 됩니다.
위의 공식대로 하면,
입니다.
이므로

입니다.
참고로, 실제값은
이거든요,
오차가 겨우 0.17 % 정도입니다.
조금만 익숙해지면,
α 값을 분수꼴로 금방 암산가능합니다.
3. 오차 검토
아래에 원리를 설명드리겠지만,
이 공식은

m 이 클 수록 더 잘맞습니다.
웬만하면, m 이 두 자리 자연수인
10 이상부터 쓰시기를 강추합니다.
바꿔 말하면 m = 1, 2, 3, 4, 5, 6, 7, 8, 9 일 때는
오차가 비교적 큰 편이라,
값은 따로 좀 외워두는 것이 좋겠습니다.

오른쪽 괄호는 각 단계의 증분입니다.
√2, √3 은 따로 외우고,
√5 ~ √8 은 √4=2 에서 증분이 0.2 라 생각하면
적당히 맞습니다.
두 자리수 이상은 프로그램 돌려보면
아래와 같습니다. 표기된 오차(Error)는 % 입니다.
오차가 꽤 작아서
매우 쓸만하다는것을 알 수 있네요.
========================================
m: 1 ~ 100 (1 단위 증가)
========================================
m = 2, Error = 6.0660%
m = 3, Error = 15.4701%
m = 5, Error = 0.6231%
m = 6, Error = 2.0621%
m = 7, Error = 3.9402%
m = 8, Error = 6.0660%
m = 10, Error = 0.1388%
m = 11, Error = 0.5038%
m = 12, Error = 1.0363%
m = 13, Error = 1.6950%
m = 14, Error = 2.4501%
m = 15, Error = 3.2796%
m = 17, Error = 0.0459%
m = 18, Error = 0.1735%
m = 19, Error = 0.3694%
m = 20, Error = 0.6231%
m = 21, Error = 0.9258%
m = 22, Error = 1.2703%
m = 23, Error = 1.6508%
m = 24, Error = 2.0621%
m = 26, Error = 0.0192%
m = 27, Error = 0.0740%
m = 28, Error = 0.1606%
m = 29, Error = 0.2755%
m = 30, Error = 0.4158%
m = 31, Error = 0.5790%
m = 32, Error = 0.7627%
m = 33, Error = 0.9650%
m = 34, Error = 1.1842%
m = 35, Error = 1.4185%
m = 37, Error = 0.0094%
m = 38, Error = 0.0365%
m = 39, Error = 0.0801%
m = 40, Error = 0.1388%
m = 41, Error = 0.2115%
m = 42, Error = 0.2972%
m = 43, Error = 0.3949%
m = 44, Error = 0.5038%
m = 45, Error = 0.6231%
m = 46, Error = 0.7520%
m = 47, Error = 0.8900%
m = 48, Error = 1.0363%
m = 50, Error = 0.0051%
m = 51, Error = 0.0200%
m = 52, Error = 0.0441%
m = 53, Error = 0.0770%
m = 54, Error = 0.1180%
m = 55, Error = 0.1668%
m = 56, Error = 0.2230%
m = 57, Error = 0.2860%
m = 58, Error = 0.3556%
m = 59, Error = 0.4314%
m = 60, Error = 0.5131%
m = 61, Error = 0.6004%
m = 62, Error = 0.6930%
m = 63, Error = 0.7905%
m = 65, Error = 0.0030%
m = 66, Error = 0.0118%
m = 67, Error = 0.0262%
m = 68, Error = 0.0459%
m = 69, Error = 0.0707%
m = 70, Error = 0.1004%
m = 71, Error = 0.1347%
m = 72, Error = 0.1735%
m = 73, Error = 0.2165%
m = 74, Error = 0.2636%
m = 75, Error = 0.3146%
m = 76, Error = 0.3694%
m = 77, Error = 0.4278%
m = 78, Error = 0.4896%
m = 79, Error = 0.5547%
m = 80, Error = 0.6231%
m = 82, Error = 0.0019%
m = 83, Error = 0.0074%
m = 84, Error = 0.0165%
m = 85, Error = 0.0290%
m = 86, Error = 0.0449%
m = 87, Error = 0.0638%
m = 88, Error = 0.0859%
m = 89, Error = 0.1109%
m = 90, Error = 0.1388%
m = 91, Error = 0.1694%
m = 92, Error = 0.2028%
m = 93, Error = 0.2387%
m = 94, Error = 0.2771%
m = 95, Error = 0.3179%
m = 96, Error = 0.3610%
m = 97, Error = 0.4065%
m = 98, Error = 0.4541%
m = 99, Error = 0.5038%
========================================
m: 101 ~ 1000 (10 단위 증가)
========================================
m = 101, Error = 0.0012%
m = 111, Error = 0.1362%
m = 121, Error = 0.0000%
m = 131, Error = 0.0788%
m = 141, Error = 0.2926%
m = 151, Error = 0.0282%
m = 161, Error = 0.1557%
m = 171, Error = 0.0017%
m = 181, Error = 0.0588%
m = 191, Error = 0.1873%
m = 201, Error = 0.0079%
m = 211, Error = 0.0680%
m = 221, Error = 0.1802%
m = 231, Error = 0.0087%
m = 241, Error = 0.0590%
m = 251, Error = 0.1495%
m = 261, Error = 0.0047%
m = 271, Error = 0.0405%
m = 281, Error = 0.1085%
m = 291, Error = 0.0006%
m = 301, Error = 0.0207%
m = 311, Error = 0.0673%
m = 321, Error = 0.1379%
m = 331, Error = 0.0057%
m = 341, Error = 0.0327%
m = 351, Error = 0.0801%
m = 361, Error = 0.0000%
m = 371, Error = 0.0093%
m = 381, Error = 0.0363%
m = 391, Error = 0.0797%
m = 401, Error = 0.0001%
m = 411, Error = 0.0092%
m = 421, Error = 0.0327%
m = 431, Error = 0.0697%
m = 441, Error = 0.0000%
m = 451, Error = 0.0063%
m = 461, Error = 0.0246%
m = 471, Error = 0.0541%
m = 481, Error = 0.0942%
m = 491, Error = 0.0026%
m = 501, Error = 0.0149%
m = 511, Error = 0.0368%
m = 521, Error = 0.0678%
m = 531, Error = 0.0002%
m = 541, Error = 0.0063%
m = 551, Error = 0.0208%
m = 561, Error = 0.0431%
m = 571, Error = 0.0730%
m = 581, Error = 0.0009%
m = 591, Error = 0.0083%
m = 601, Error = 0.0226%
m = 611, Error = 0.0435%
m = 621, Error = 0.0707%
m = 631, Error = 0.0011%
m = 641, Error = 0.0080%
m = 651, Error = 0.0208%
m = 661, Error = 0.0392%
m = 671, Error = 0.0631%
m = 681, Error = 0.0007%
m = 691, Error = 0.0060%
m = 701, Error = 0.0165%
m = 711, Error = 0.0319%
m = 721, Error = 0.0519%
m = 731, Error = 0.0001%
m = 741, Error = 0.0033%
m = 751, Error = 0.0111%
m = 761, Error = 0.0231%
m = 771, Error = 0.0392%
m = 781, Error = 0.0593%
m = 791, Error = 0.0010%
m = 801, Error = 0.0058%
m = 811, Error = 0.0143%
m = 821, Error = 0.0266%
m = 831, Error = 0.0424%
m = 841, Error = 0.0000%
m = 851, Error = 0.0017%
m = 861, Error = 0.0069%
m = 871, Error = 0.0154%
m = 881, Error = 0.0270%
m = 891, Error = 0.0417%
m = 901, Error = 0.0000%
m = 911, Error = 0.0018%
m = 921, Error = 0.0067%
m = 931, Error = 0.0143%
m = 941, Error = 0.0248%
m = 951, Error = 0.0380%
m = 961, Error = 0.0000%
m = 971, Error = 0.0013%
m = 981, Error = 0.0053%
m = 991, Error = 0.0118%
제곱수는 오차가 0 이므로 제외했습니다.
m 이 커질수록 오차는 작아지고,
m 이 제곱수 근처일 때 오차가 일시적으로
커집니다.
4. 공식 유도 과정
혹시나 궁금하신 분들을 위해
공식 유도과정을 알려드리겠습니다.
예를 들어,

에서, 양변을 제곱하면,

인데,
α 는 0 과 1 사이의 소수 부분이므로,
α² 은 α 보다 훨씬 작은 값이 되서,
그냥 버립니다.
그러면,

이고, 이것을 α 에 관해 풀면

가 됩니다.
즉, 미지수로 다시 유도해보겠습니다.

에서 양변을 제곱하면,

이고, 여기서 α² 을 버리면,

이고,

가 됩니다.
즉,

입니다.
5. 참고
이렇게 α² 을 버리면, '선형근사' 가 됩니다.
즉, 이차함수 대신 접선을 사용해서
값을 구한것이 됩니다.
예를 들어,

을 다시 생각해보겠습니다.
양변을 제곱하면,

인데,
의 그래프가 (9, 81) 을 지나는것을 알고 있고,
y=91 일때 해당하는 x 값을 구하는 문제인데,
α² 을 떼서 버리면
(9, 81) 에서의 접선에서 y=91 에 해당하는
x 의 값을 구하는 문제가 됩니다.
9+α = x 이므로, 위의 식에서
α 대신 x-9 를 대입하면,
이고, 여기서
을 떼서 버리면
가 되죠. 이것은 (9, 81) 에서 접선의 방정식과
동일합니다.
사실 앞의 (1) 식은 y=x² 을 x=9 근방에서
테일러전개한 것이고,
1차 테일러 다항식은 접선이니까요.
그러므로, y=x² 의 볼록성을 생각할 때,
뒤로 갈수록 정확해진다는것도
알 수 있습니다.
6. 일반화
이와 같이 선형근사를 쓰면
n제곱근 공식도 가능합니다.
(암산은 힘들지만 손계산은 가능합니다.)
예를 들어,
∛100 의 근사값을 생각해볼까요.

이므로,
이고 양변 세제곱하면,
이고,
α², α³ 항을 떼서 버리면,
이므로,
가 됩니다.
실제값은 4.641... 인데
이것은 2.3% 정도 오차입니다.
공식은 유도하면 아래와 같습니다.
라 할 때,
입니다.
같은 방법으로 n제곱근으로 일반화 하면,
일 때,
이 된답니다.
7. 참고
계산기가 없던 시절에는 '개평법' 이라고
나눗셈처럼 제곱근을 구하는 알고리즘이 있었는데
계산이 더럽습니다.
알고리즘으로서의 가치는 있지만
어차피 적당한 근사값을 구하는 방법이라서,
근사값을 원하는 정밀도 만큼 구하는 문제라면
테일러 전개나 뉴턴-랩슨법이나 연분수 같은
더 알기쉬운 방법이 낫답니다.