우리는 심우주 탐사 로켓을 발사하려고 하는데, 항법 시스템이 목표를 벗어나지 않도록 하는 방법이 필요해요.
계산의 첫 단계로, 목표가 되는 숫자를 하나 정하고 그 제곱근을 구해요(즉, 자기 자신을 곱하면 목표 숫자가 되는 수예요).
여정은 아주 길어요. 배터리가 최대한 오래가게 하려면, 로켓에 탑재된 컴퓨터를 아주 전력 효율적으로 만들어야 했어요. 아쉽게도 그러려면 화려한 수학 라이브러리나 함수에 의존할 수가 없어요. 그것들은 전력을 더 많이 쓰니까요. 대신 제곱근 계산을 직접 구현하려고 해요.
이번 과제는 주어진 수의 제곱근을 계산하는 거예요.
몇 가지 가능한 접근 방법이 있어요:
계산 방법을 고르는 데 도움이 되도록 정수 제곱근과 제곱근을 구하는 방법에 대한 위키백과 문서를 확인해 봐도 좋아요.
Python은 math 모듈과 거듭제곱 연산자 **, pow(), sum() 같은 내장 함수 등 다양한 수학 함수를 풍부하게 제공해요.
그렇지만 이런 내장 함수나 모듈 없이 이 연습 문제를 풀어보는 도전을 해보면 좋겠어요.
어떤 수든 제곱근을 구하는 수학 공식이 있긴 하지만, 여기서는 자연수(양의 정수)만 해로 삼는 방식을 택했어요.
어떤 자연수의 제곱근이든 계산 과정에서 자연수만 사용해서 구할 수 있어요.
Exercism에 가입하고 Python 트랙을 개념 17개연습 문제 146개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.