제곱근

제곱근

쉬움

소개

우리는 심우주 탐사 로켓을 발사하려고 하는데, 항법 시스템이 목표를 벗어나지 않도록 하는 방법이 필요해요.

계산의 첫 단계로, 목표가 되는 숫자를 하나 정하고 그 제곱근을 구해요(즉, 자기 자신을 곱하면 목표 숫자가 되는 수예요).

여정은 아주 길어요. 배터리가 최대한 오래가게 하려면, 로켓에 탑재된 컴퓨터를 아주 전력 효율적으로 만들어야 했어요. 아쉽게도 그러려면 화려한 수학 라이브러리나 함수에 의존할 수가 없어요. 그것들은 전력을 더 많이 쓰니까요. 대신 제곱근 계산을 직접 구현하려고 해요.

지침

이번 과제는 주어진 수의 제곱근을 계산하는 거예요.

  • 사용하는 언어에 이미 있는 수학 라이브러리는 가급적 쓰지 않도록 해요.
  • 입력으로는 1, 2, 3, 4… 같은 양의 정수가 주어져요.
  • 결과가 양의 정수가 되는 경우만 처리하면 돼요.

몇 가지 가능한 접근 방법이 있어요:

  • 제곱했을 때 입력한 수가 되는 수를 선형 탐색이나 이진 탐색으로 찾기.
  • 뉴턴 방법이나 헤론의 방법을 이용한 연속 근사.
  • 한 자리씩, 또는 한 비트씩 계산하기.

계산 방법을 고르는 데 도움이 되도록 정수 제곱근과 제곱근을 구하는 방법에 대한 위키백과 문서를 확인해 봐도 좋아요.


출처

wolf99링크가 새 창이나 탭에서 열려요
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
COBOL Exercism

제곱근 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 COBOL 트랙을 연습 문제 46개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.