본문 바로가기
코플릿 기록/JavaScript

데일리코딩 17번 computeSquareRoot 바빌로니아

by 뭉지야 2023. 2. 7.
728x90

#문제

수를 입력받아 제곱근 값을 소수점 두자리까지 리턴해야한다.

Math.sqrt 사용은 금지됩니다.

최대 소수점 둘째 짜리까지 구합니다. (소수점 셋째 자리에서 반올림)

number 타입을 리턴해야 합니다.

 

#예시

let output = computeSquareRoot(9);
console.log(output); // --> 3

output = computeSquareRoot(6);
console.log(output); // --> 2.45

#정답

바빌로니아법

function computeSquareRoot(num) {
let approx =1;
while(approx ** 2 !== num){
  if(Number((approx*approx).toFixed(2))===num){
    break;
  }
  approx = (approx +(num/approx)) /2;
}
return Number(approx.toFixed(2));
}

#풀이

tofixed(2) 소수점두자리까지


let 근사값 = 원래숫자 /2
while((근사값**2)!==원래숫자){
근사값 = (근사값 +(원래숫자/근사값)) / 2
728x90

'코플릿 기록 > JavaScript' 카테고리의 다른 글

데일리코딩 12번 findBugInApples  (0) 2023.01.31
데일리코딩 11번 removeExtremes ★★  (0) 2023.01.30
데일리코딩 10번 insertDash  (0) 2023.01.27
객체 13번  (0) 2023.01.23
객체 6번  (0) 2023.01.23