JavaScript
제곱근 구하기 바빌로니아법 .toFixed()
짱닭
2020. 10. 8. 22:52
반응형
소수점 두자리까지 (세번째 자리에서 반올림) 구하기
바빌로니아 법으로 제곱근 구하기
방법 1.
바빌로니아법을 활용해서 코딩한 예
let result=0;
let x=1;
for(let i=0; i<30; i++){
x = ( x + ( num / x )) / 2
}
result=x;
result=(Math.round(result*100)/100)
상단의 바빌로니아법으로 제곱근 구하기의 2번 과정을 30번 반복해서
num의 제곱근 근사치를 소수점 둘째자리까지 구하는 방법이다.
방법 2.
function computeSquareRoot(num) {
const diffs = [1, 0.1, 0.01, 0.001];
let base = 1;
for (let i = 0; i < diffs.length; i++) {
while (base * base < num) {
base = base + diffs[i];
}
if (base * base === num) {
return base;
} else {
base = base - diffs[i];
}
}
return Number(base.toFixed(2));
}
1. while문 안에서 base의 값이 num 보다 커지지 않을 때까지 diffs의 i번째 인덱스를 더한다.
2. base > num 일 때, while 문을 빠져나와 base^2 === num 이면 base를 리턴한다.
3. 2번의 조건을 충족하지 못했을 때, base에서 diff 의 i 번째 인덱스를 뺀다.
4. 1~3번까지의 과정을 diffs의 마지막 인덱스 값까지 반복한다.
5. base의 소수점 둘째자리까지 반올림하여 리턴한다.
위에서 사용된 .toFixed()의 설명
.toFixed()
반응형