[일반 계산기] 세제곱근 구하기. 방법 #2, 로그 성질(근사)의 활용
ㄴ $ \sqrt[3]{a} $ 를 구하는 방법. 로그의 근사 활용
이 방법의 계산 순서
1. 초기 근사값 설정:
루트키 【√】를 이용해 $ a^{\frac{1}{4096}} $ 을 계산합니다. 이 값은 1에 매우 가깝습니다.
2. 델타(Δ) 정의:
$ Δ = \frac{a^{\frac{1}{4096}} - 1}{3} $ 를 구합니다.
앞선 결과에서 1을 빼고, 그걸 3으로 나누면 되겠죠.
이 Δ는 0에 가까운 매우 작은 값입니다.
3. 반복 제곱:
(1 + Δ)^4096 를 계산하면 $ a^{\frac{1}{3}} $ 에 매우 가까운 값이 됩니다.
(1 + Δ)^4096 를 4095회의 곱하기로 계산하는 것은 매우 비 효율적이기 때문에
((((((((((((1 + Δ)^2)^2)^2)^2)^2)^2)^2)^2)^2)^2)^2)^2 로 결과를 반복해 제곱 계산하여 횟수를 줄여야 합니다.
일반 계산기에서는 【×】【=】 를 반복하여, 결과값을 계속 제곱할 수 있습니다. // K타입&non-K타입 무관함.
이 방법이 작동하는 수학적인 이유 (증명)
1. 로그의 성질 활용:
앞선 델타(Δ)의 정의에 의해
$$ \begin{gather} x = a^{\frac{1}{4096}} = 1 + 3Δ \text{ 라고 할 때,} \\ ln(x) = ln(a^{\frac{1}{4096}}) = \frac{1}{4096} * ln(a) \end{gather} $$
2. 작은 값에 대한 로그 근사:
매우 작은 값 Δ에 대해, 로그 근사가 성립 (댓글 참고)
$$ ln(x) = ln(1 + 3Δ) ≈ 3Δ $$
따라서,
$$ \frac{1}{4096} * ln(a) ≈ 3Δ $$
3. Δ 의 근사값 표현:
$$ Δ ≈ \frac{1}{4096×3} ×ln(a) $$
4. (1 + Δ) ^ 4096 의 의미:
$$ (1 + Δ)^{4096} ≈ e^{4096Δ} \text{ (지수함수의 성질 이용, 댓글 참고)} $$
$$ ≈ e^{\frac{1}{3} * ln(a)} \text{ (Δ 의 근사값 대입)} $$
$$ = (e^{ln(a)})^{\frac{1}{3}} $$
$$ = a^{\frac{1}{3}} $$
이 과정을 통해 (1 + Δ)^4096이 a^(1/3)에 매우 가깝게 근사(approximate)하는 것을 알 수 있습니다.
쌀집 계산기를 이용한 버튼 입력 순서 예시 : $ \sqrt[3]{125} = 5 $
【125】【√】 (√125 = 11.180339887499)
【√】 (√11.180339887499 = 3.3437015248821)
【√】 (√3.3437015248821 = 1.8285790999796)
【√】 (√1.8285790999796 = 1.3522496441041)
【√】 (√1.3522496441041 = 1.1628626935731)
【√】 (√1.1628626935731 = 1.0783611146425)
【√】 (√1.0783611146425 = 1.0384416760909)
【√】 (√1.0384416760909 = 1.0190395851442)
【√】 (√1.0190395851442 = 1.0094749056535)
【√】 (√1.0094749056535 = 1.0047262839468)
【√】 (√1.0047262839468 = 1.0023603563324)
【√】 (√1.0023603563324 = 1.0011794825766)
【-】【1】【÷】【3】【+】【1】【=】 1.0011794825766 - 1 → 0.0011794825766 ÷ 3 → 0.00039316085886667 + 1 = 1.0003931608589
【×】【=】 1.0003931608589 × = 1.0007864762933
【×】【=】 1.0007864762933 × = 1.0015735711316
【×】【=】 1.0015735711316 × = 1.0031496183893
【×】【=】 1.0031496183893 × = 1.0063091568746
【×】【=】 1.0063091568746 × = 1.0126581192097
【×】【=】 1.0126581192097 × = 1.0254764664013
【×】【=】 1.0254764664013 × = 1.0516019831429
【×】【=】 1.0516019831429 × = 1.1058667309501
【×】【=】 1.1058667309501 × = 1.2229412266223
【×】【=】 1.2229412266223 × = 1.4955852437725
【×】【=】 1.4955852437725 × = 2.2367752213900
【×】【=】 2.2367752213900 × = 5.0031633910243
총 버튼 입력 횟수 : 3 + 12 + 7 + 2*12 = 46 회
응용 및 주의사항
처음에 4096 제곱근을 구하고 마지막에 4096 제곱을 하였는데, 꼭 4096 만 되는 것은 아니고 앞 뒤 짝이 맞으면 됩니다.
만약, 2048 제곱근을 구하고 2048 제곱을 하면 버튼 입력횟수 ↓ 오차 ↑
만약, 8192 제곱근을 구하고 8192 제곱을 하면 버튼 입력횟수 ↑ 오차 ↓
계산기에 따라서
루트를 많이 누르면 1에 가까운 소숫점 형태가 아니라, 소숫점이 잘린 1로 나올 수도 있습니다.
이 경우 꽝이 되어버리므로, 1이 나오기 직전 회차까지 반복해야 유효한 계산이 가능합니다.
댓글7
-
세상의모든계산기
로그 근사 및, $ (1 + Δ)^{4096} \approx e^{4096Δ} $ 근사가 성립하는 이유
지수함수와 로그함수의 중요한 성질에 기반합니다.
1. 지수함수의 정의:
\( e^x \)는 자연상수 \( e \) (약 2.71828...)를 밑으로 하는 지수함수입니다.2. 로그함수의 테일러 전개
로그 함수 \( \ln(1 + d) \)의 테일러 급수를 \( d = 0 \) 주변에서 전개하면 다음과 같습니다:\[
\ln(1 + d) = d - \frac{d^2}{2} + \frac{d^3}{3} - \frac{d^4}{4} + \cdots
\]따라서, 이 급수의 첫 번째 항은 \( d \), 두 번째 항은 \( -\frac{d^2}{2} \), 세 번째 항은 \( \frac{d^3}{3} \) 입니다.
3. (1 + Δ)에 대한 근사:
\( Δ \)가 매우 작아 0에 가까울 때, 테일러 급수의 두번째항부터는 기하급수적으로 0에 수렴합니다.
\[
\ln(1 + Δ) = Δ \cancel{- \frac{Δ^2}{2}} \cancel{+ \frac{Δ^3}{3}} \cancel{- \frac{Δ^4}{4}} + \cancel{\cdots}
\]오차를 조금 허용하여 \( \ln(1 + Δ) \approx Δ \) 이 성립하게 됩니다.
4. 지수함수와 로그함수의 관계:
\( e^{\ln(x)} = x \)입니다. 이는 지수함수와 로그함수가 서로의 역함수라는 성질 때문입니다.5. 이를 이용한 (1 + Δ)의 표현:
\( 1 + Δ \approx e^{Δ} \)입니다. (왜냐하면 \( e^{\ln(1+Δ)} = 1 + Δ \)이고, \( \ln(1+Δ) \approx Δ \)이므로)6. 지수법칙 적용:
\[
(1 + Δ)^{4096} \approx (e^{Δ})^{4096} = e^{4096\cdotΔ}
\]따라서, \( (1 + Δ)^{4096} \approx e^{4096\cdotΔ} \)라는 근사가 성립하게 됩니다.
이 근사는 \( Δ \)가 매우 작을 때 더 정확해집니다. 우리의 경우 \( Δ = \frac{a^{1/4096} - 1}{3} \)로 정의되었으므로, \( a \)가 크지 않은 양수일 때 \( Δ \)는 매우 작은 값이 되어 이 근사가 잘 작동하게 됩니다.
이 근사를 통해 우리는 거듭제곱 계산을 지수함수로 변환할 수 있게 되어, 이후 계산과 증명이 더 쉬워집니다.
-
1
-
세상의모든계산기
정수제곱근법 & 뉴튼-랩슨법을 이용한 반복계산법과 차이는?
https://allcalc.org/2629
반복계산법은
- 반복할수록 오차가 없는 참값에 수렴해 갑니다. (마지막 1~2 자릿수 정도의 오차는 남을 수 있습니다)
- 완전숙달되지 않는 이상, 입력하기 어려워 실수가 나오기 쉽습니다.
- n제곱근의 n값에 따라 쉽게 되기도 하고, 어려워지기도 함.
반면, 본문의 방법은
- 오차를 어느 정도 감수할지를 결정(?)하고, 하나의 값만 구합니다.
- 원리를 정확히 이해하면, 계산기 입력은 쉬운 편입니다. (실수를 줄일 수 있습니다)
- n제곱근의 n값에 관계 없이 동일한 구조로 계산이 됩니다. 외우기 쉽습니다.

반복횟수(iter)를 적당히 늘리면 이 방법도 오차가 조금 줄어들 수는 있습니다.
하지만 iter를 무한정 늘린다고 참값에 수렴하는 것이 아니고, 어느 순간부터는 오히려 오차가 커지고 불안정해집니다.

계산기 내부 유효 자릿수 한계 때문에 발생하는 문제입니다.
ㄴ 루트를 많이 씌우다보면 1.0000000000000~~~ 이 되는데 뒤에 ~~~ 부분이 날라가 없어지고 정수 1 만 남음.
-
1
세상의모든계산기
A) 1*3*5*7*9 = 계산
945
B) √ 12번 누름
ㄴ 12회 해도 되고, 14회 해도 되는데, 횟수 기억해야 함.
ㄴ 횟수가 너무 적으면 오차가 커짐
ㄴ 결과가 1에 매우 가까운 숫자라면 된 겁니다.
1.0016740522338
C) - 1 ÷ 5 + 1 =
1.0003348104468
D) × = 을 (n세트) 반복해 입력
ㄴ 여기서 n세트는, B에서 '루트버튼 누른 횟수'
3.9398949655688
빨간 부분 숫자에 오차 있음. (소숫점 둘째 자리 정도까지만 반올림 해서 답안 작성)
참 값 =
3.9362834270354...

세상의모든계산기 님의 최근 댓글
- claude AI는 l-c*r^2 을 1-c*r^2 으로 잘못 읽고 표시하고 있습니다. - TI-nspire CAS 계산기에 l-c*r^2 ≥0 을 조건에 추가해 계산해 보아도 결과는 바뀌지 않습니다. 2026 07.20 ⚠️ 경고가 바로 두 번째 방법이 "성공"한 이유와 정확히 연결되어 있습니다. 경고의 의미 "Domain of the result might be larger than the domain of the input"는 CAS가 절댓값(모듈러스)을 계산하는 과정에서 원래 식보다 정의역이 더 넓은 형태로 단순화했다는 뜻입니다. 구체적으로 이 계산은 내부적으로 대략 이런 과정을 거칩니다. $$\left|\frac{er}{e\cdot r}\right| = \sqrt{\left(\frac{er}{e\cdot r}\right)\cdot\overline{\left(\frac{er}{e\cdot r}\right)}}$$ 즉 원래 식(복소수)과 그 켤레복소수를 곱해서 실수부·허수부 제곱합을 만들고, 거기에 다시 제곱근을 씌우는 과정입니다. 이 과정에서 √(x²) → x 또는 √a·√b → √(ab) 같은 규칙들이 쓰이는데, 이런 규칙들은 x가 실수이고 0 이상일 때만 엄밀하게 성립합니다. CAS는 이 조건들을 일일이 다 추적하지 않고 넘어가면서, 원래는 (e≠0, r+l·ω·i ≠ 0 등) 복소수 특유의 좁은 정의역을 가진 식을, r, l, ω가 어떤 실수여도(부호 무관하게) 정의되는 1/√(r²+l²·ω²)라는 더 넓은 정의역의 식으로 바꿔버린 것입니다. CAS는 이 손실을 감지하고 경고를 띄운 것입니다. 이게 왜 조건 대입 성공과 연결되는가 정리하면, 이 경고는 사실상 이런 뜻입니다. "나는 이 결과를 만들면서 원래 식이 가지고 있던 정의역 제약 정보(부호 조건, i 관련 조건 등)를 이미 버렸다." 바로 이 "정의역 정보를 버린" 상태가 이후 con_1 대입을 매끄럽게 만드는 원인입니다. 첫 번째 시도에서는 i가 살아있는 원래 식에 조건을 대입했기 때문에, CAS가 √(1-c·r²)이 실수인지(정의역 조건: 1-c·r² ≥ 0) 계속 추적하려고 했고, 그 정보가 con에 없어서 더 이상 정리를 못 하고 멈췄습니다. 두 번째 시도에서는 절댓값 계산 단계에서 이미 그런 세밀한 정의역 추적을 CAS 스스로 포기(단순화)했기 때문에, 이후 ω에 무리식을 대입해도 "이게 실수가 맞나?" 하는 검증 절차 없이 그냥 대수적으로 치환·정리해 버립니다. 그래서 깔끔하게 √c/√l이 나온 겁니다. 한 줄 요약 절댓값 계산 시 뜬 "정의역이 넓어졌을 수 있다"는 경고는, CAS가 그 순간에 원래 식의 엄밀한 조건(정의역)을 놓쳤다는 신호이고, 바로 그 "조건을 놓친 상태"이기 때문에 뒤에 이어지는 조건식 대입이 막힘없이 진행된 것입니다. 다만 그 대가로, 결과인 1/√(r²+l²·ω²)이나 최종 √c/√l이 원래 회로 조건(i≠0이 되는 경계, 분모가 0이 되는 경우 등)에서는 엄밀히 성립하지 않을 수 있다는 점은 감안하셔야 합니다. 실제 물리적으로는 r, l, c > 0이고 결과도 물리적으로 타당한 형태라 문제없어 보이지만, 수학적 엄밀성 측면에서는 "정의역이 넓어진 근사적 결과"라는 꼬리표가 붙어있는 셈입니다. 2026 07.20 Claude AI 답변 TI-Nspire CAS의 | (such that / 조건대입) 연산자는 대입 시점의 수식 형태를 그대로 두고 기호만 치환하는 연산입니다. 대입 후에 처음부터 다시 "실수부/허수부 분리, 유리화" 같은 재간소화를 자동으로 수행하지 않습니다. 이 차이가 지금 보신 결과 차이의 핵심입니다. 첫 번째 경우 (|er/(e·r)| | con_1 and con → 실패) 이 시점의 식은 아직 r + l·ω·i 형태의 복소수 그대로입니다 (i가 살아있음). 여기에 con_1: ω = √(1-c·r²)/(√c·l)을 대입하면, 분모 안에 i · √(1-c·r²) 라는 항이 새로 생깁니다. 문제는 CAS가 √(1-c·r²)이 실수인지(즉 1-c·r² ≥ 0인지) 판단할 근거가 없다는 겁니다. 저장해 두신 con 조건은 c>0, l>0, r>0뿐이고, 1-c·r²≥0이라는 조건은 포함되어 있지 않습니다. 그래서 CAS는 i와 이 무리식을 더 정리(유리화, 실수부·허수부 재결합)하지 못하고 있는 그대로 남겨둡니다. 결과에 여전히 i가 보이는 이유입니다. 두 번째 경우 (결과값 1/√(r²+l²·ω²)에 대입 → 성공) |er/(e·r)| (절댓값/모듈러스) 연산은 그 자체로 이미 "복소수 → 실수" 변환을 완료한 결과입니다. 즉 1/√(r²+l²·ω²)에는 더 이상 i가 없고, 순수하게 r, l, ω로만 이루어진 실수식입니다. 이 식에 ω = con_1을 대입하는 것은 그냥 실수 대수식에 실수 대입하는 것이므로, i와 무리식이 뒤엉키는 문제 자체가 발생하지 않습니다. 그래서 바로 깔끔하게 √c/√l로 정리됩니다. 정리하면 절댓값(모듈러스) 계산은 "이 값들이 실수다"라는 가정을 이미 내부적으로 써서 i를 제거하는 연산입니다. 그 연산을 조건 대입 이전에 해두면, 이후 대입은 단순 실수 대입이라 문제없이 정리됩니다. 반대로 i가 남아있는 식에 무리식을 포함한 조건을 먼저 대입하면, 그 무리식의 실수성/부호에 대한 가정이 없어서 CAS가 i를 소거하는 재간소화를 못 하고 멈춰버립니다. 실용적 팁: 복소식에 조건을 대입해야 할 때는 가능하면 절댓값·실수화(유리화) 등을 먼저 끝내서 i를 없앤 뒤 조건을 대입하거나, 대입 후 결과에 다시 simplify/expand/combine 같은 명령을 한 번 더 걸어주면 (필요한 도메인 조건과 함께) 정리가 되는 경우가 많습니다. 2026 07.19 저도 어림잡아 추측할 뿐이지 정확한 이유를 알지는 못합니다. 질문하신 사진을 그대로 (Gemini 3.5 Flash / ChatGPT / Claude Sonnet 5) AI에 넣어 보니 claude AI 가 제일 합리적인 답변을 주어서 이를 붙여 넣습니다. 2026 07.19 아 그렇네요. 감사합니다. ^^ 2026 04.28