TIL

[javascript] 제곱수 판별

meno1011 2023. 3. 1. 15:10
728x90

어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 

이때 제곱수는 제곱근에 의해서 만들어진다.

*제곱근이란 어떤수의 제곱이 되는 수를 말한다.

숫자 n을 넣었을때 제곱근을 가지고 있는 수이면 1을 제곱근이 아닐경우 2를 출력한다.

function square(n) {
    var result = 0;
    let count = 1;
    while(count * count <= n){
        result = count * count === n ? 1 : 2;
        count++;
    }
    return result;
}

결과를 확인해보면 위와 같이 4는 2의 제곱근을 가지는 제곱수이다.

5의 제곱근은 루트5이므로 자연수가 아니므로 위 제곱수에 기준에 위배된다.

물론 위와 같은 식을 사용하는 것보단 Math.sqrt()를 이용해 자연수를 판변하는게 더 편하지만 Math.sqrt()를 사용하지 않고 판별해 보고 싶어서 만들어봤다.