[FrontEnd2] 함수를 이용해 최대공약수, 최소공배수 구하기

    SMALL

    안녕하세요:) 보라해바라기입니다.

     

    오늘은 함수를 이용해서 최대공약수와 최소공배수를 구하는 프로그램을 만들어보았습니다.

     

    1. 최대공약수 구하기

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <script>
            var a = parseInt(prompt("첫번째 정수 입력"))
            var b = parseInt(prompt("첫번째 정수 입력"))
    
            function greatestCommonFactor(a, b) {
                var divisor = 2
                var total = 1
    
                if (a>=b){
                    while (divisor<=b) {
                        if (a%divisor == 0 && b%divisor==0){
                            total *= divisor
                            a /= divisor
                            b /= divisor
                            continue
                        }
                        divisor++
                    }
                    
                }
                else { // (a<b)
                    while (divisor<=a) {
                        if (a%divisor == 0 && b%divisor==0){
                            total *= divisor
                            a /= divisor
                            b /= divisor
                            continue
                        }
                        divisor++
                    }
                }
                return total
            }
    
            var result = greatestCommonFactor(a, b)
            document.write("최대공약수: " + result, "<br>")
        </script>
    </head>
    <body>
        
    </body>
    </html>

     

    2. 최소공배수 구하기

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <script>
            var a = parseInt(prompt("첫번째 정수 입력"))
            var b = parseInt(prompt("첫번째 정수 입력"))
    
            function leastCommonMultiple(a, b) {
                var divisor = 2
                var total = 1
    
                if (a>=b){
                    while (divisor<=b) {
                        if (a%divisor == 0 && b%divisor==0){
                            total *= divisor
                            a /= divisor
                            b /= divisor
                            continue
                        }
                        divisor++
                    }
                    
                }
                else { // (a<b)
                    while (divisor<=a) {
                        if (a%divisor == 0 && b%divisor==0){
                            total *= divisor
                            a /= divisor
                            b /= divisor
                            continue
                        }
                        divisor++
                    }
                }
                return (total * a * b)
            }
    
            var result = leastCommonMultiple(a, b)
            document.write("최소공배수: " + result, "<br>")
        </script>
    </head>
    <body>
        
    </body>
    </html>

     

    728x90

    댓글