728x90
반응형

최대 공약수 구하기

GCD : Greatest Common Divisor

A, B 두 수 중 적은 수를 기준으로 1씩 감소시키면서

A와 B가 나누어 떨어지는 숫자

<!-- 생략 -->

<body>
    <script>
        let a = 21, b = 14;
        let c = Math.min(a, b);
        console.log(c);
        for (let i = c; i >= 1; i--) {
            if (a % i == 0 && b % i == 0) {
                console.log(`최대공약수: ${i}`);
                break;
            }
        }
    </script>
</body>

 

최소 공배수 구하기

LCD : Least Common Divisor

A, B 두 수 중 큰 수를 기준으로 1씩 증가시키면서

A와 B가 나누어 떨어지는 숫자

<!-- 생략 -->

<body>
    <script>
        let a = 21, b = 14;
        let d = Math.max(a, b);
        console.log(d);
        for (let j = d; j <= a * b; j++) {
            if (j % a == 0 && j % b == 0) {
                console.log(`최소공배수: ${j}`);
                break;
            }
        }
    </script>
</body>

 

유클리드 호제법을 재귀호출로 나타내기

유클리드 호제법은 최대 공약수, 최소 공배수를 나타내는 알고리즘

<!-- 생략 -->

<body>
    <script>
            let a = 21, b = 14;
            function gcd(a, b) {
                if (a % b == 0) {
                    return b;
                }
                return gcd(b, a % b);
            }
            console.log(gcd(a, b));
            let 최소공배수 = a * b / gcd(a, b);
            console.log(최소공배수);
    </script>
</body>
728x90
반응형

+ Recent posts